mirror of
https://github.com/reactos/reactos.git
synced 2025-07-05 16:51:22 +00:00
Added complete defintion of FX_SAVE_AREA and moved it to fpu.h instead of ps.h.
svn path=/trunk/; revision=11278
This commit is contained in:
parent
fb49f8ddd7
commit
9623e3cbe8
2 changed files with 39 additions and 7 deletions
|
@ -25,4 +25,41 @@ extern ULONG HardwareMathSupport;
|
||||||
VOID
|
VOID
|
||||||
KiCheckFPU(VOID);
|
KiCheckFPU(VOID);
|
||||||
|
|
||||||
|
typedef struct _FNSAVE_FORMAT {
|
||||||
|
ULONG ControlWord;
|
||||||
|
ULONG StatusWord;
|
||||||
|
ULONG TagWord;
|
||||||
|
ULONG ErrorOffset;
|
||||||
|
ULONG ErrorSelector;
|
||||||
|
ULONG DataOffset;
|
||||||
|
ULONG DataSelector;
|
||||||
|
UCHAR RegisterArea[80];
|
||||||
|
} FNSAVE_FORMAT, *PFNSAVE_FORMAT;
|
||||||
|
|
||||||
|
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[128];
|
||||||
|
UCHAR Reserved3[128];
|
||||||
|
UCHAR Reserved4[224];
|
||||||
|
UCHAR Align16Byte[8];
|
||||||
|
} FXSAVE_FORMAT, *PFXSAVE_FORMAT;
|
||||||
|
|
||||||
|
typedef struct _FX_SAVE_AREA {
|
||||||
|
union {
|
||||||
|
FNSAVE_FORMAT FnArea;
|
||||||
|
FXSAVE_FORMAT FxArea;
|
||||||
|
} U;
|
||||||
|
ULONG NpxSavedCpu;
|
||||||
|
ULONG Cr0NpxState;
|
||||||
|
} FX_SAVE_AREA, *PFX_SAVE_AREA;
|
||||||
|
|
||||||
#endif /* __NTOSKRNL_INCLUDE_INTERNAL_I386_FPU_H */
|
#endif /* __NTOSKRNL_INCLUDE_INTERNAL_I386_FPU_H */
|
||||||
|
|
|
@ -47,6 +47,8 @@
|
||||||
|
|
||||||
#ifndef __ASM__
|
#ifndef __ASM__
|
||||||
|
|
||||||
|
#include "fpu.h"
|
||||||
|
|
||||||
#pragma pack(push,4)
|
#pragma pack(push,4)
|
||||||
|
|
||||||
// Fixme: Use correct types?
|
// Fixme: Use correct types?
|
||||||
|
@ -55,13 +57,6 @@ typedef struct _KPROCESSOR_STATE {
|
||||||
PVOID SpecialRegisters;
|
PVOID SpecialRegisters;
|
||||||
} KPROCESSOR_STATE;
|
} KPROCESSOR_STATE;
|
||||||
|
|
||||||
// Fixme: Use correct union for Fn/Fx Save Area?
|
|
||||||
typedef struct _FX_SAVE_AREA {
|
|
||||||
UCHAR FnFxSaveArea[0x208];
|
|
||||||
ULONG NpxSavedCpu;
|
|
||||||
ULONG Cr0NpxState;
|
|
||||||
} FX_SAVE_AREA, *PFX_SAVE_AREA;
|
|
||||||
|
|
||||||
/* ProcessoR Control Block */
|
/* ProcessoR Control Block */
|
||||||
typedef struct _KPRCB {
|
typedef struct _KPRCB {
|
||||||
USHORT MinorVersion;
|
USHORT MinorVersion;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue