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