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