xref: /netbsd-src/sys/external/bsd/gnu-efi/dist/inc/efifpswa.h (revision 693c3770f5346fd622b76637d4e4a33b9fa5606b)
1 /*	$NetBSD: efifpswa.h,v 1.1 2016/08/04 18:08:12 scole Exp $	*/
2 /* $FreeBSD: releng/10.1/sys/boot/efi/include/efifpswa.h 96893 2002-05-19 03:17:22Z marcel $ */
3 #ifndef _EFI_FPSWA_H
4 #define _EFI_FPSWA_H
5 
6 /*
7  * EFI FP SWA Driver (Floating Point Software Assist)
8  */
9 
10 #define EFI_INTEL_FPSWA \
11     { 0xc41b6531, 0x97b9, 0x11d3, 0x9a, 0x29, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d }
12 
13 INTERFACE_DECL(_FPSWA_INTERFACE);
14 
15 typedef struct _FPSWA_RET {
16     UINT64                          status;
17     UINT64                          err1;
18     UINT64                          err2;
19     UINT64                          err3;
20 } FPSWA_RET;
21 
22 typedef
23 FPSWA_RET
24 (EFIAPI *EFI_FPSWA) (
25     IN UINTN                        TrapType,
26     IN OUT VOID                     *Bundle,
27     IN OUT UINT64                   *pipsr,
28     IN OUT UINT64                   *pfsr,
29     IN OUT UINT64                   *pisr,
30     IN OUT UINT64                   *ppreds,
31     IN OUT UINT64                   *pifs,
32     IN OUT VOID                     *fp_state
33     );
34 
35 typedef struct _FPSWA_INTERFACE {
36     UINT32                          Revision;
37     UINT32                          Reserved;
38     EFI_FPSWA                       Fpswa;
39 } FPSWA_INTERFACE;
40 
41 #endif
42