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