xref: /freebsd/stand/efi/include/efifpswa.h (revision 2e3507c25e42292b45a5482e116d278f5515d04d)
1 #ifndef _EFI_FPSWA_H
2 #define _EFI_FPSWA_H
3 
4 /*
5  * EFI FP SWA Driver (Floating Point Software Assist)
6  */
7 
8 #define EFI_INTEL_FPSWA \
9     { 0xc41b6531, 0x97b9, 0x11d3, {0x9a, 0x29, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
10 
11 INTERFACE_DECL(_FPSWA_INTERFACE);
12 
13 typedef struct _FPSWA_RET {
14     UINT64                          status;
15     UINT64                          err1;
16     UINT64                          err2;
17     UINT64                          err3;
18 } FPSWA_RET;
19 
20 typedef
21 FPSWA_RET
22 (EFIAPI *EFI_FPSWA) (
23     IN UINTN                        TrapType,
24     IN OUT VOID                     *Bundle,
25     IN OUT UINT64                   *pipsr,
26     IN OUT UINT64                   *pfsr,
27     IN OUT UINT64                   *pisr,
28     IN OUT UINT64                   *ppreds,
29     IN OUT UINT64                   *pifs,
30     IN OUT VOID                     *fp_state
31     );
32 
33 typedef struct _FPSWA_INTERFACE {
34     UINT32                          Revision;
35     UINT32                          Reserved;
36     EFI_FPSWA                       Fpswa;
37 } FPSWA_INTERFACE;
38 
39 #endif
40