OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [include/] [asm-ia64/] [fpswa.h] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
#ifndef _ASM_IA64_FPSWA_H
2
#define _ASM_IA64_FPSWA_H
3
 
4
/*
5
 * Floating-point Software Assist
6
 *
7
 * Copyright (C) 1999 Intel Corporation.
8
 * Copyright (C) 1999 Asit Mallick <asit.k.mallick@intel.com>
9
 * Copyright (C) 1999 Goutham Rao <goutham.rao@intel.com>
10
 */
11
 
12
typedef struct {
13
        /* 4 * 128 bits */
14
        unsigned long fp_lp[4*2];
15
} fp_state_low_preserved_t;
16
 
17
typedef struct {
18
        /* 10 * 128 bits */
19
        unsigned long fp_lv[10 * 2];
20
} fp_state_low_volatile_t;
21
 
22
typedef struct {
23
        /* 16 * 128 bits */
24
        unsigned long fp_hp[16 * 2];
25
} fp_state_high_preserved_t;
26
 
27
typedef struct {
28
        /* 96 * 128 bits */
29
        unsigned long fp_hv[96 * 2];
30
} fp_state_high_volatile_t;
31
 
32
/**
33
 * floating point state to be passed to the FP emulation library by
34
 * the trap/fault handler
35
 */
36
typedef struct {
37
        unsigned long                   bitmask_low64;
38
        unsigned long                   bitmask_high64;
39
        fp_state_low_preserved_t        *fp_state_low_preserved;
40
        fp_state_low_volatile_t         *fp_state_low_volatile;
41
        fp_state_high_preserved_t       *fp_state_high_preserved;
42
        fp_state_high_volatile_t        *fp_state_high_volatile;
43
} fp_state_t;
44
 
45
typedef struct {
46
        unsigned long status;
47
        unsigned long err0;
48
        unsigned long err1;
49
        unsigned long err2;
50
} fpswa_ret_t;
51
 
52
/**
53
 * function header for the Floating Point software assist
54
 * library. This function is invoked by the Floating point software
55
 * assist trap/fault handler.
56
 */
57
typedef fpswa_ret_t (*efi_fpswa_t) (unsigned long trap_type, void *bundle, unsigned long *ipsr,
58
                                    unsigned long *fsr, unsigned long *isr, unsigned long *preds,
59
                                    unsigned long *ifs, fp_state_t *fp_state);
60
 
61
/**
62
 * This is the FPSWA library interface as defined by EFI.  We need to pass a
63
 * pointer to the interface itself on a call to the assist library
64
 */
65
typedef struct {
66
        unsigned int     revision;
67
        unsigned int     reserved;
68
        efi_fpswa_t      fpswa;
69
} fpswa_interface_t;
70
 
71
#endif /* _ASM_IA64_FPSWA_H */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.