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