19 #ifndef _I386_KETYPES_H 20 #define _I386_KETYPES_H 29 #define K0IPCR ((ULONG_PTR)(KIP0PCRADDRESS)) 30 #define PCR ((KPCR *)K0IPCR) 31 #if defined(CONFIG_SMP) || defined(NT_BUILD) 33 #define KeGetPcr() ((KPCR *)__readfsdword(FIELD_OFFSET(KPCR, SelfPcr))) 55 #define MACHINE_TYPE_ISA 0x0000 56 #define MACHINE_TYPE_EISA 0x0001 57 #define MACHINE_TYPE_MCA 0x0002 62 #define I386_TASK_GATE 0x5 64 #define I386_ACTIVE_TSS 0xB 65 #define I386_CALL_GATE 0xC 66 #define I386_INTERRUPT_GATE 0xE 67 #define I386_TRAP_GATE 0xF 72 #define RPL_MASK 0x0003 73 #define MODE_MASK 0x0001 74 #define KGDT_NULL 0x00 75 #define KGDT_R0_CODE 0x08 76 #define KGDT_R0_DATA 0x10 77 #define KGDT_R3_CODE 0x18 78 #define KGDT_R3_DATA 0x20 80 #define KGDT_R0_PCR 0x30 81 #define KGDT_R3_TEB 0x38 82 #define KGDT_VDM_TILE 0x40 84 #define KGDT_DF_TSS 0x50 85 #define KGDT_NMI_TSS 0x58 90 #define KGDT_NUMBER 10 103 #define CR4_FXSR 0x200 104 #define CR4_XMMEXCPT 0x400 109 #define EFLAGS_CF 0x01L 110 #define EFLAGS_ZF 0x40L 111 #define EFLAGS_TF 0x100L 112 #define EFLAGS_INTERRUPT_MASK 0x200L 113 #define EFLAGS_DF 0x400L 114 #define EFLAGS_IOPL 0x3000L 115 #define EFLAGS_NESTED_TASK 0x4000L 116 #define EFLAGS_RF 0x10000 117 #define EFLAGS_V86_MASK 0x20000 118 #define EFLAGS_ALIGN_CHECK 0x40000 119 #define EFLAGS_VIF 0x80000 120 #define EFLAGS_VIP 0x100000 121 #define EFLAGS_ID 0x200000 122 #define EFLAGS_USER_SANITIZE 0x3F4DD7 123 #define EFLAG_SIGN 0x8000 124 #define EFLAG_ZERO 0x4000 129 #define FSW_INVALID_OPERATION 0x1 130 #define FSW_DENORMAL 0x2 131 #define FSW_ZERO_DIVIDE 0x4 132 #define FSW_OVERFLOW 0x8 133 #define FSW_UNDERFLOW 0x10 134 #define FSW_PRECISION 0x20 135 #define FSW_STACK_FAULT 0x40 140 #define MSR_AMD_ACCESS 0x9C5A203A 141 #define MSR_IA32_MISC_ENABLE 0x01A0 142 #define MSR_EFER 0xC0000080 147 #define MSR_NXE 0x0800 148 #define XHF_NOEXECUTE 0x100000 149 #define MSR_XD_ENABLE_MASK 0xFFFFFFFB 157 #define IPI_PACKET_READY 8 158 #define IPI_SYNCH_REQUEST 16 163 #define PRCB_MINOR_VERSION 1 164 #define PRCB_MAJOR_VERSION 1 165 #define PRCB_BUILD_DEBUG 1 166 #define PRCB_BUILD_UNIPROCESSOR 2 171 #define INITIAL_STALL_COUNT 100 172 #define MM_HAL_VA_START 0xFFC00000 173 #define MM_HAL_VA_END 0xFFFFFFFF 174 #define APIC_BASE 0xFFFE0000 180 #define IOPM_SIZE 8192 181 #define IOPM_FULL_SIZE 8196 182 #define IO_ACCESS_MAP_NONE 0 183 #define IOPM_DIRECTION_MAP_SIZE 32 184 #define IOPM_OFFSET FIELD_OFFSET(KTSS, IoMaps[0].IoMap) 185 #define KiComputeIopmOffset(MapNumber) \ 186 (MapNumber == IO_ACCESS_MAP_NONE) ? \ 187 (USHORT)(sizeof(KTSS)) : \ 188 (USHORT)(FIELD_OFFSET(KTSS, IoMaps[MapNumber-1].IoMap)) 197 #define SIZE_OF_FX_REGISTERS 128 202 #define KSEG0_BASE 0x80000000 208 #define SYNCH_LEVEL DISPATCH_LEVEL 210 #if (NTDDI_VERSION < NTDDI_WS03) 211 #define SYNCH_LEVEL (IPI_LEVEL - 1) 213 #define SYNCH_LEVEL (IPI_LEVEL - 2) 220 #define NUMBER_POOL_LOOKASIDE_LISTS 32 299 #ifndef _LDT_ENTRY_DEFINED 300 #define _LDT_ENTRY_DEFINED 400 #ifndef NTOS_MODE_USER 507 #if (NTDDI_VERSION >= NTDDI_LONGHORN) 525 #if (NTDDI_VERSION >= NTDDI_WS03) 527 #if (NTDDI_VERSION >= NTDDI_LONGHORN) 539 #if (NTDDI_VERSION >= NTDDI_WS03) 541 #if (NTDDI_VERSION >= NTDDI_LONGHORN) 547 ULONG ThreadStartCount[2];
555 #if (NTDDI_VERSION < NTDDI_LONGHORN) 559 #if (NTDDI_VERSION < NTDDI_LONGHORN) 562 ULONG KeFirstLevelTbFills;
563 ULONG KeFloatingEmulationCount;
565 ULONG KeSecondLevelTbFills;
574 #if (NTDDI_VERSION >= NTDDI_LONGHORN) 606 ULONG SpareCounter1[8];
643 #if (NTDDI_VERSION >= NTDDI_LONGHORN) 653 #if (NTDDI_VERSION >= NTDDI_LONGHORN) 669 #if (NTDDI_VERSION >= NTDDI_LONGHORN) 695 #if (NTDDI_VERSION >= NTDDI_LONGHORN) 702 ULONG SpareFields0[1];
714 #if (NTDDI_VERSION >= NTDDI_LONGHORN) struct _LDT_ENTRY::@343::@345 Bits
#define SIZE_OF_FX_REGISTERS
GENERAL_LOOKASIDE_POOL PPNPagedLookasideList[NUMBER_POOL_LOOKASIDE_LISTS]
struct _FNSAVE_FORMAT FNSAVE_FORMAT
ULONG CcFastReadResourceMiss
enum _WOW64_SERVICE_TYPES WOW64_SERVICE_TYPES
enum _VDM_INDEX VDM_INDEX
volatile ULONG IoWriteOperationCount
struct _LDT_ENTRY * PLDT_ENTRY
UCHAR LogicalProcessorsPerPhysicalProcessor
volatile LARGE_INTEGER IsrTime
volatile UCHAR DpcThreadRequested
struct _KGDTENTRY::@2400::@2401 Bytes
volatile LONG MmMappedPagesWriteCount
volatile LONG MmTransitionCount
ULONG CcPinReadNoWaitMiss
UCHAR SecondLevelCacheAssociativity
volatile LONG MmPageFaultCount
struct _FXSAVE_FORMAT * PFXSAVE_FORMAT
union _CPU_INFO * PCPU_INFO
volatile LONG MmDemandZeroCount
FORCEINLINE struct _KPRCB * KeGetCurrentPrcb(VOID)
LARGE_INTEGER IoWriteTransferCount
struct _KGDTENTRY KGDTENTRY
PROCESSOR_POWER_STATE PowerState
ULONG KernelReserved2[17]
SLIST_HEADER InterruptObjectPool
volatile BOOLEAN QuantumEnd
KSPECIAL_REGISTERS SpecialRegisters
KEXCEPTION_FRAME * PKCALLOUT_FRAME
ULONG CcPinMappedDataCount
ULONG CachedResidentAvailable
LONG ThreadWatchdogPeriod
ULONG NTSYSAPI KeIcacheFlushCount
#define IOPM_DIRECTION_MAP_SIZE
struct _KTHREAD * NextThread
KEXCEPTION_FRAME KCALLOUT_FRAME
ULONG CcFastMdlReadResourceMiss
enum _WOW64_SERVICE_TYPES * PWOW64_SERVICE_TYPES
volatile ULONG ReverseStall
volatile LONG MmCacheReadCount
struct _LDT_ENTRY * LPLDT_ENTRY
struct _FNSAVE_FORMAT * PFNSAVE_FORMAT
LARGE_INTEGER HyperCallPagePhysical
LARGE_INTEGER UpdateSignature
PP_LOOKASIDE_LIST PPLookasideList[16]
struct _KTRAP_FRAME KTRAP_FRAME
struct _KDESCRIPTOR * PKDESCRIPTOR
struct _KPROCESSOR_STATE * PKPROCESSOR_STATE
ULONG KeAlignmentFixupCount
struct _KEXCEPTION_FRAME * PKEXCEPTION_FRAME
struct _KGDTENTRY::@2400::@2402 Bits
struct _KSPECIAL_REGISTERS * PKSPECIAL_REGISTERS
volatile LONG MmMappedWriteIoCount
struct _KTHREAD * CurrentThread
volatile ULONG IoReadOperationCount
ULONG SecondLevelCacheSize
union _LDT_ENTRY::@343 HighWord
volatile LONG MmCacheTransitionCount
struct _KPRCB * MultiThreadSetMaster
_Reserved_ PVOID Reserved
PPC_QUAL unsigned long __readfsdword(const unsigned long Offset)
KIO_ACCESS_MAP * PKIO_ACCESS_MAP
volatile LONG MmDirtyWriteIoCount
struct _LDT_ENTRY::@343::@344 Bytes
ULONG CcFastReadNotPossible
ULONG PackageProcessorSet
LARGE_INTEGER SpareField1
struct _FX_SAVE_AREA FX_SAVE_AREA
volatile ULONG TimerRequest
struct _KNODE * ParentNode
ULONG CcFastMdlReadNotPossible
ULONG CcMdlReadNoWaitMiss
struct _KIDT_ACCESS * PKIDT_ACCESS
volatile ULONG PacketBarrier
UINT64 CacheProcessorMask[5]
PVOID ChainedInterruptList
enum _VDM_INDEX * PVDM_INDEX
UCHAR KIO_ACCESS_MAP[IOPM_SIZE]
struct _EXCEPTION_REGISTRATION_RECORD FAR * ExceptionList
LARGE_INTEGER IoOtherTransferCount
KPROCESSOR_STATE ProcessorState
volatile ULONG IoOtherOperationCount
volatile LONG MmCacheIoCount
struct _KGDTENTRY * PKGDTENTRY
volatile UCHAR DpcRoutineActive
ULONG CcFastMdlReadNoWait
volatile UCHAR DpcInterruptRequested
struct _KTHREAD * NpxThread
union _KGDTENTRY::@2400 HighWord
struct _KIDTENTRY * PKIDTENTRY
VOID(NTAPI * PKIPI_WORKER)(IN OUT PKIPI_CONTEXT PacketContext, IN PVOID Parameter1 OPTIONAL, IN PVOID Parameter2 OPTIONAL, IN PVOID Parameter3 OPTIONAL)
struct _KSPECIAL_REGISTERS KSPECIAL_REGISTERS
volatile PKIPI_WORKER WorkerRoutine
struct _KIDTENTRY KIDTENTRY
struct _KDESCRIPTOR KDESCRIPTOR
struct _FXSAVE_FORMAT FXSAVE_FORMAT
LARGE_INTEGER IoReadTransferCount
struct _KTHREAD * IdleThread
volatile struct _KPRCB * SignalDone
ULONG PreviousPreviousMode
SINGLE_LIST_ENTRY DeferredReadyListHead
struct _KIDT_ACCESS KIDT_ACCESS
struct _KiIoAccessMap KIIO_ACCESS_MAP
LARGE_INTEGER HyperCallPageVirtual
struct _FX_SAVE_AREA * PFX_SAVE_AREA
ULONG MultiThreadProcessorSet
ULONG KeExceptionDispatchCount
#define FIELD_OFFSET(t, f)
volatile UCHAR DpcThreadActive
ULONG CcMapDataNoWaitMiss
LIST_ENTRY DispatcherReadyListHead[32]
volatile LONG MmCopyOnWriteCount
PVOID PerfGlobalGroupMask
UCHAR LogicalProcessorsPerCore
volatile LONG MmPageReadCount
ULONG NTSYSAPI KeDcacheFlushCount
#define NUMBER_POOL_LOOKASIDE_LISTS
volatile PVOID CurrentPacket[3]
UCHAR IntDirectionMap[IOPM_DIRECTION_MAP_SIZE]
KSPIN_LOCK_QUEUE LockQueue[LockQueueMaximumLock]
struct _KTRAP_FRAME * PKTRAP_FRAME
volatile LONG MmPageReadIoCount
ULONG MaximumDpcQueueDepth
ULONG CcLazyWriteHotSpots
union _FX_SAVE_AREA::@2407 U
volatile LONG MmDirtyPagesWriteCount
struct _KPROCESSOR_STATE KPROCESSOR_STATE
ULONG CcLostDelayedWrites
KIIO_ACCESS_MAP IoMaps[IOPM_COUNT]
struct _EXCEPTION_REGISTRATION_RECORD * Used_ExceptionList
ULONG CcCopyReadNoWaitMiss
volatile UCHAR IdleSchedule
GENERAL_LOOKASIDE_POOL PPPagedLookasideList[NUMBER_POOL_LOOKASIDE_LISTS]
volatile ULONG RequestSummary