|
root / base / usr / src / boot / efi / include / efifpswa.h
efifpswa.h C 41 lines 1.1 KB
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/* $FreeBSD$ */
#ifndef _EFI_FPSWA_H
#define _EFI_FPSWA_H

/*
 * EFI FP SWA Driver (Floating Point Software Assist)
 */

#define EFI_INTEL_FPSWA \
    { 0xc41b6531, 0x97b9, 0x11d3, {0x9a, 0x29, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }

INTERFACE_DECL(_FPSWA_INTERFACE);

typedef struct _FPSWA_RET {
    UINT64                          status;
    UINT64                          err1;
    UINT64                          err2;
    UINT64                          err3;
} FPSWA_RET;

typedef
FPSWA_RET
(EFIAPI *EFI_FPSWA) (
    IN UINTN                        TrapType,
    IN OUT VOID                     *Bundle,
    IN OUT UINT64                   *pipsr,
    IN OUT UINT64                   *pfsr,
    IN OUT UINT64                   *pisr,
    IN OUT UINT64                   *ppreds,
    IN OUT UINT64                   *pifs,
    IN OUT VOID                     *fp_state
    );

typedef struct _FPSWA_INTERFACE {
    UINT32                          Revision;
    UINT32                          Reserved;
    EFI_FPSWA                       Fpswa;
} FPSWA_INTERFACE;

#endif