Add floating save area structure definitions
All checks were successful
ci/woodpecker/push/build Pipeline was successful
All checks were successful
ci/woodpecker/push/build Pipeline was successful
This commit is contained in:
parent
28b760b089
commit
18a39f95bc
@ -133,6 +133,7 @@
|
|||||||
|
|
||||||
/* Size of 387 registers */
|
/* Size of 387 registers */
|
||||||
#define SIZE_OF_80387_REGISTERS 80
|
#define SIZE_OF_80387_REGISTERS 80
|
||||||
|
#define SIZE_OF_FX_REGISTERS 128
|
||||||
|
|
||||||
/* Floating point state storing structure */
|
/* Floating point state storing structure */
|
||||||
typedef struct _FLOATING_SAVE_AREA
|
typedef struct _FLOATING_SAVE_AREA
|
||||||
@ -148,6 +149,50 @@ typedef struct _FLOATING_SAVE_AREA
|
|||||||
ULONG Cr0NpxState;
|
ULONG Cr0NpxState;
|
||||||
} FLOATING_SAVE_AREA, *PFLOATING_SAVE_AREA;
|
} FLOATING_SAVE_AREA, *PFLOATING_SAVE_AREA;
|
||||||
|
|
||||||
|
/* Data for FNSAVE/FRSTOR instructions structure definition */
|
||||||
|
typedef struct _FNSAVE_FORMAT
|
||||||
|
{
|
||||||
|
ULONG ControlWord;
|
||||||
|
ULONG StatusWord;
|
||||||
|
ULONG TagWord;
|
||||||
|
ULONG ErrorOffset;
|
||||||
|
ULONG ErrorSelector;
|
||||||
|
ULONG DataOffset;
|
||||||
|
ULONG DataSelector;
|
||||||
|
UCHAR RegisterArea[SIZE_OF_80387_REGISTERS];
|
||||||
|
} FNSAVE_FORMAT, *PFNSAVE_FORMAT;
|
||||||
|
|
||||||
|
/* Data for FXSAVE/FXRSTOR instructions structure definition */
|
||||||
|
typedef struct _FXSAVE_FORMAT
|
||||||
|
{
|
||||||
|
USHORT ControlWord;
|
||||||
|
USHORT StatusWord;
|
||||||
|
USHORT TagWord;
|
||||||
|
USHORT ErrorOpcode;
|
||||||
|
ULONG ErrorOffset;
|
||||||
|
ULONG ErrorSelector;
|
||||||
|
ULONG DataOffset;
|
||||||
|
ULONG DataSelector;
|
||||||
|
ULONG MXCsr;
|
||||||
|
ULONG MXCsrMask;
|
||||||
|
UCHAR RegisterArea[SIZE_OF_FX_REGISTERS];
|
||||||
|
UCHAR Reserved3[SIZE_OF_FX_REGISTERS];
|
||||||
|
UCHAR Reserved4[224];
|
||||||
|
UCHAR Align16Byte[8];
|
||||||
|
} FXSAVE_FORMAT, *PFXSAVE_FORMAT;
|
||||||
|
|
||||||
|
/* Floating save area structure definition */
|
||||||
|
typedef struct _FX_SAVE_AREA
|
||||||
|
{
|
||||||
|
union
|
||||||
|
{
|
||||||
|
FNSAVE_FORMAT FnArea;
|
||||||
|
FXSAVE_FORMAT FxArea;
|
||||||
|
} U;
|
||||||
|
ULONG NpxSavedCpu;
|
||||||
|
ULONG Cr0NpxState;
|
||||||
|
} FX_SAVE_AREA, *PFX_SAVE_AREA;
|
||||||
|
|
||||||
/* Context frame structure definition */
|
/* Context frame structure definition */
|
||||||
typedef struct _CONTEXT
|
typedef struct _CONTEXT
|
||||||
{
|
{
|
||||||
|
@ -23,6 +23,9 @@ typedef struct _CPU_IDENTIFICATION CPU_IDENTIFICATION, *PCPU_IDENTIFICATION;
|
|||||||
typedef struct _CPUID_REGISTERS CPUID_REGISTERS, *PCPUID_REGISTERS;
|
typedef struct _CPUID_REGISTERS CPUID_REGISTERS, *PCPUID_REGISTERS;
|
||||||
typedef struct _CPUID_SIGNATURE CPUID_SIGNATURE, *PCPUID_SIGNATURE;
|
typedef struct _CPUID_SIGNATURE CPUID_SIGNATURE, *PCPUID_SIGNATURE;
|
||||||
typedef struct _FLOATING_SAVE_AREA FLOATING_SAVE_AREA, *PFLOATING_SAVE_AREA;
|
typedef struct _FLOATING_SAVE_AREA FLOATING_SAVE_AREA, *PFLOATING_SAVE_AREA;
|
||||||
|
typedef struct _FNSAVE_FORMAT FNSAVE_FORMAT, *PFNSAVE_FORMAT;
|
||||||
|
typedef struct _FX_SAVE_AREA FX_SAVE_AREA, *PFX_SAVE_AREA;
|
||||||
|
typedef struct _FXSAVE_FORMAT FXSAVE_FORMAT, *PFXSAVE_FORMAT;
|
||||||
typedef struct _HARDWARE_PTE HARDWARE_PTE, *PHARDWARE_PTE;
|
typedef struct _HARDWARE_PTE HARDWARE_PTE, *PHARDWARE_PTE;
|
||||||
typedef struct _HARDWARE_PTE_PAE HARDWARE_PTE_PAE, *PHARDWARE_PTE_PAE;
|
typedef struct _HARDWARE_PTE_PAE HARDWARE_PTE_PAE, *PHARDWARE_PTE_PAE;
|
||||||
typedef struct _KDESCRIPTOR KDESCRIPTOR, *PKDESCRIPTOR;
|
typedef struct _KDESCRIPTOR KDESCRIPTOR, *PKDESCRIPTOR;
|
||||||
|
Loading…
Reference in New Issue
Block a user