1060fee10Skettenis /* $FreeBSD: head/sys/boot/efi/include/efifpswa.h 96893 2002-05-19 03:17:22Z marcel $ */ 2060fee10Skettenis #ifndef _EFI_FPSWA_H 3060fee10Skettenis #define _EFI_FPSWA_H 4060fee10Skettenis 5060fee10Skettenis /* 6060fee10Skettenis * EFI FP SWA Driver (Floating Point Software Assist) 7060fee10Skettenis */ 8060fee10Skettenis 9060fee10Skettenis #define EFI_INTEL_FPSWA \ 10*aa2a8ca5Sjsg { 0xc41b6531, 0x97b9, 0x11d3, { 0x9a, 0x29, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } } 11060fee10Skettenis 12060fee10Skettenis INTERFACE_DECL(_FPSWA_INTERFACE); 13060fee10Skettenis 14060fee10Skettenis typedef struct _FPSWA_RET { 15060fee10Skettenis UINT64 status; 16060fee10Skettenis UINT64 err1; 17060fee10Skettenis UINT64 err2; 18060fee10Skettenis UINT64 err3; 19060fee10Skettenis } FPSWA_RET; 20060fee10Skettenis 21060fee10Skettenis typedef 22060fee10Skettenis FPSWA_RET 23060fee10Skettenis (EFIAPI *EFI_FPSWA) ( 24060fee10Skettenis IN UINTN TrapType, 25060fee10Skettenis IN OUT VOID *Bundle, 26060fee10Skettenis IN OUT UINT64 *pipsr, 27060fee10Skettenis IN OUT UINT64 *pfsr, 28060fee10Skettenis IN OUT UINT64 *pisr, 29060fee10Skettenis IN OUT UINT64 *ppreds, 30060fee10Skettenis IN OUT UINT64 *pifs, 31060fee10Skettenis IN OUT VOID *fp_state 32060fee10Skettenis ); 33060fee10Skettenis 34060fee10Skettenis typedef struct _FPSWA_INTERFACE { 35060fee10Skettenis UINT32 Revision; 36060fee10Skettenis UINT32 Reserved; 37060fee10Skettenis EFI_FPSWA Fpswa; 38060fee10Skettenis } FPSWA_INTERFACE; 39060fee10Skettenis 40060fee10Skettenis #endif 41