ReactOS  r75907
ketypes.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

union  _CPU_INFO
 
struct  _KTRAP_FRAME
 
union  _KGDTENTRY64
 
struct  _KIDT_ACCESS
 
union  _KIDTENTRY64
 
struct  _KDESCRIPTOR
 
struct  _KSPECIAL_REGISTERS
 
struct  _KPROCESSOR_STATE
 
struct  _KREQUEST_PACKET
 
struct  _REQUEST_MAILBOX
 
struct  _KPRCB
 
struct  _KIPCR
 
struct  _KiIoAccessMap
 
struct  _KTSS64
 
struct  _KEXCEPTION_FRAME
 
struct  _MACHINE_FRAME
 
struct  _UCALLOUT_FRAME
 
struct  _DISPATCHER_CONTEXT
 
struct  _KSTART_FRAME
 
struct  _KSWITCH_FRAME
 
struct  _KPROCESSOR_START_BLOCK
 

Macros

#define PCR   ((volatile KPCR * const)__readgsqword(FIELD_OFFSET(KPCR, Self)))
 
#define MACHINE_TYPE_ISA   0x0000
 
#define MACHINE_TYPE_EISA   0x0001
 
#define MACHINE_TYPE_MCA   0x0002
 
#define I386_TASK_GATE   0x5
 
#define I386_TSS   0x9
 
#define I386_ACTIVE_TSS   0xB
 
#define I386_CALL_GATE   0xC
 
#define I386_INTERRUPT_GATE   0xE
 
#define I386_TRAP_GATE   0xF
 
#define RPL_MASK   0x0003
 
#define MODE_MASK   0x0001
 
#define KGDT64_NULL   0x0000
 
#define KGDT64_R0_CODE   0x0010
 
#define KGDT64_R0_DATA   0x0018
 
#define KGDT64_R3_CMCODE   0x0020
 
#define KGDT64_R3_DATA   0x0028
 
#define KGDT64_R3_CODE   0x0030
 
#define KGDT64_SYS_TSS   0x0040
 
#define KGDT64_R3_CMTEB   0x0050
 
#define KGDT64_R0_LDT   0x0060
 
#define CR4_VME   0x1
 
#define CR4_PVI   0x2
 
#define CR4_TSD   0x4
 
#define CR4_DE   0x8
 
#define CR4_PSE   0x10
 
#define CR4_PAE   0x20
 
#define CR4_MCE   0x40
 
#define CR4_PGE   0x80
 
#define CR4_FXSR   0x200
 
#define CR4_XMMEXCPT   0x400
 
#define CR4_CHANNELS   0x800
 
#define CR4_XSAVE   0x40000
 
#define DR7_LEGAL   0xFFFF0355
 
#define DR7_ACTIVE   0x00000355
 
#define DR7_TRACE_BRANCH   0x00000200
 
#define DR7_LAST_BRANCH   0x00000100
 
#define DEBUG_ACTIVE_DR7   0x0001
 
#define DEBUG_ACTIVE_INSTRUMENTED   0x0002
 
#define DEBUG_ACTIVE_DBG_INSTRUMENTED   0x0003
 
#define DEBUG_ACTIVE_MINIMAL_THREAD   0x0004
 
#define DEBUG_ACTIVE_PRIMARY_THREAD   0x0080
 
#define DEBUG_ACTIVE_PRIMARY_THREAD_BIT   0x0007
 
#define DEBUG_ACTIVE_PRIMARY_THREAD_LOCK_BIT   0x001F
 
#define DEBUG_ACTIVE_SCHEDULED_THREAD   0x0040
 
#define DEBUG_ACTIVE_SCHEDULED_THREAD_BIT   0x0006
 
#define DEBUG_ACTIVE_SCHEDULED_THREAD_LOCK_BIT   0x001E
 
#define DEBUG_ACTIVE_SCHEDULED_THREAD_LOCK   0x40000000
 
#define EFLAGS_CF   0x01L
 
#define EFLAGS_ZF   0x40L
 
#define EFLAGS_TF   0x100L
 
#define EFLAGS_INTERRUPT_MASK   0x200L
 
#define EFLAGS_DF   0x400L
 
#define EFLAGS_NESTED_TASK   0x4000L
 
#define EFLAGS_V86_MASK   0x20000
 
#define EFLAGS_ALIGN_CHECK   0x40000
 
#define EFLAGS_VIF   0x80000
 
#define EFLAGS_VIP   0x100000
 
#define EFLAGS_USER_SANITIZE   0x3F4DD7
 
#define EFLAG_SIGN   0x8000
 
#define EFLAG_ZERO   0x4000
 
#define EFLAGS_TF_MASK   0x0100
 
#define EFLAGS_TF_SHIFT   0x0008
 
#define EFLAGS_ID_MASK   0x200000
 
#define EFLAGS_IF_MASK   0x0200
 
#define EFLAGS_IF_SHIFT   0x0009
 
#define XSW_INVALID_OPERATION   0x0001
 
#define XSW_DENORMAL   0x0002
 
#define XSW_ZERO_DIVIDE   0x0004
 
#define XSW_OVERFLOW   0x0008
 
#define XSW_UNDERFLOW   0x0010
 
#define XSW_PRECISION   0x0020
 
#define XCW_INVALID_OPERATION   0x0080
 
#define XCW_DENORMAL   0x0100
 
#define XCW_ZERO_DIVIDE   0x0200
 
#define XCW_OVERFLOW   0x0400
 
#define XCW_UNDERFLOW   0x0800
 
#define XCW_PRECISION   0x1000
 
#define XCW_ROUND_CONTROL   0x6000
 
#define XCW_FLUSH_ZERO   0x8000
 
#define XSW_ERROR_MASK   0x003F
 
#define XSW_ERROR_SHIFT   7
 
#define FSW_INVALID_OPERATION   0x0001
 
#define FSW_DENORMAL   0x0002
 
#define FSW_ZERO_DIVIDE   0x0004
 
#define FSW_OVERFLOW   0x0008
 
#define FSW_UNDERFLOW   0x0010
 
#define FSW_PRECISION   0x0020
 
#define FSW_STACK_FAULT   0x0040
 
#define FSW_ERROR_SUMMARY   0x0080
 
#define FSW_CONDITION_CODE_0   0x0100
 
#define FSW_CONDITION_CODE_1   0x0200
 
#define FSW_CONDITION_CODE_2   0x0400
 
#define FSW_CONDITION_CODE_3   0x4000
 
#define FSW_ERROR_MASK   0x003F
 
#define MSR_EFER   0xC0000080
 
#define MSR_STAR   0xC0000081
 
#define MSR_LSTAR   0xC0000082
 
#define MSR_CSTAR   0xC0000083
 
#define MSR_SYSCALL_MASK   0xC0000084
 
#define MSR_FS_BASE   0xC0000100
 
#define MSR_GS_BASE   0xC0000101
 
#define MSR_GS_SWAP   0xC0000102
 
#define MSR_MCG_STATUS   0x017A
 
#define MSR_AMD_ACCESS   0x9C5A203A
 
#define MSR_IA32_MISC_ENABLE   0x01A0
 
#define MSR_LAST_BRANCH_FROM   0x01DB
 
#define MSR_LAST_BRANCH_TO   0x01DC
 
#define MSR_LAST_EXCEPTION_FROM   0x01DD
 
#define MSR_LAST_EXCEPTION_TO   0x01DE
 
#define PAT_UC   0ULL
 
#define PAT_WC   1ULL
 
#define PAT_WT   4ULL
 
#define PAT_WP   5ULL
 
#define PAT_WB   6ULL
 
#define PAT_UCM   7ULL
 
#define MSR_SCE   0x0001
 
#define MSR_LME   0x0100
 
#define MSR_LMA   0x0400
 
#define MSR_NXE   0x0800
 
#define MSR_PAT   0x0277
 
#define MSR_DEBUG_CTL   0x01D9
 
#define MSR_XD_ENABLE_MASK   0xFFFFFFFB
 
#define MSR_DEBUG_CTL_LBR   equ 0x0001
 
#define MSR_DEBUG_CTL_BTF   equ 0x0002
 
#define IPI_APC   1
 
#define IPI_DPC   2
 
#define IPI_FREEZE   4
 
#define IPI_PACKET_READY   8
 
#define IPI_SYNCH_REQUEST   16
 
#define PRCB_MAJOR_VERSION   1
 
#define PRCB_BUILD_DEBUG   1
 
#define PRCB_BUILD_UNIPROCESSOR   2
 
#define KEXCEPTION_ACTIVE_INTERRUPT_FRAME   0x0000
 
#define KEXCEPTION_ACTIVE_EXCEPTION_FRAME   0x0001
 
#define KEXCEPTION_ACTIVE_SERVICE_FRAME   0x0002
 
#define INITIAL_STALL_COUNT   100
 
#define MM_HAL_VA_START   0xFFFFFFFFFFC00000ULL /* This is Vista+ */
 
#define MM_HAL_VA_END   0xFFFFFFFFFFFFFFFFULL
 
#define APIC_BASE   0xFFFFFFFFFFFE0000ULL
 
#define IO_ACCESS_MAP_NONE   0
 
#define IOPM_OFFSET   FIELD_OFFSET(KTSS, IoMaps[0].IoMap)
 
#define KiComputeIopmOffset(MapNumber)
 
#define KSEG0_BASE   0xfffff80000000000ULL
 
#define SYNCH_LEVEL   12
 
#define NMI_STACK_SIZE   0x2000
 
#define ISR_STACK_SIZE   0x6000
 
#define NUMBER_POOL_LOOKASIDE_LISTS   32
 
#define _LDT_ENTRY_DEFINED
 
#define KGDTENTRY   KGDTENTRY64
 
#define PKGDTENTRY   PKGDTENTRY64
 
#define KIDTENTRY   KIDTENTRY64
 
#define PKIDTENTRY   PKIDTENTRY64
 
#define KTSS   KTSS64
 
#define PKTSS   PKTSS64
 
#define PROCESSOR_START_FLAG_FORCE_ENABLE_NX   0x0001
 

Typedefs

typedef union _CPU_INFO CPU_INFO
 
typedef union _CPU_INFOPCPU_INFO
 
typedef struct _KTRAP_FRAME KTRAP_FRAME
 
typedef struct _KTRAP_FRAMEPKTRAP_FRAME
 
typedef ULONG LDT_ENTRY
 
typedef union _KGDTENTRY64 KGDTENTRY64
 
typedef union _KGDTENTRY64PKGDTENTRY64
 
typedef struct _KIDT_ACCESS KIDT_ACCESS
 
typedef struct _KIDT_ACCESSPKIDT_ACCESS
 
typedef union _KIDTENTRY64 KIDTENTRY64
 
typedef union _KIDTENTRY64PKIDTENTRY64
 
typedef struct _KDESCRIPTOR KDESCRIPTOR
 
typedef struct _KDESCRIPTORPKDESCRIPTOR
 
typedef struct _KSPECIAL_REGISTERS KSPECIAL_REGISTERS
 
typedef struct
_KSPECIAL_REGISTERS
PKSPECIAL_REGISTERS
 
typedef struct _KPROCESSOR_STATE KPROCESSOR_STATE
 
typedef struct _KPROCESSOR_STATEPKPROCESSOR_STATE
 
typedef struct _KREQUEST_PACKET KREQUEST_PACKET
 
typedef struct _KREQUEST_PACKETPKREQUEST_PACKET
 
typedef struct _REQUEST_MAILBOX REQUEST_MAILBOX
 
typedef struct _REQUEST_MAILBOXPREQUEST_MAILBOX
 
typedef struct _KPRCB KPRCB
 
typedef struct _KPRCBPKPRCB
 
typedef struct _KIPCR KIPCR
 
typedef struct _KIPCRPKIPCR
 
typedef struct _KiIoAccessMap KIIO_ACCESS_MAP
 
typedef struct _KTSS64 KTSS64
 
typedef struct _KTSS64PKTSS64
 
typedef struct _KEXCEPTION_FRAME KEXCEPTION_FRAME
 
typedef struct _KEXCEPTION_FRAMEPKEXCEPTION_FRAME
 
typedef struct _MACHINE_FRAME MACHINE_FRAME
 
typedef struct _MACHINE_FRAMEPMACHINE_FRAME
 
typedef KEXCEPTION_FRAME KCALLOUT_FRAME
 
typedef KEXCEPTION_FRAME PKCALLOUT_FRAME
 
typedef struct _UCALLOUT_FRAME UCALLOUT_FRAME
 
typedef struct _UCALLOUT_FRAMEPUCALLOUT_FRAME
 
typedef struct _DISPATCHER_CONTEXT DISPATCHER_CONTEXT
 
typedef struct
_DISPATCHER_CONTEXT
PDISPATCHER_CONTEXT
 
typedef struct _KSTART_FRAME KSTART_FRAME
 
typedef struct _KSTART_FRAMEPKSTART_FRAME
 
typedef struct _KSWITCH_FRAME KSWITCH_FRAME
 
typedef struct _KSWITCH_FRAMEPKSWITCH_FRAME
 
typedef struct
_KPROCESSOR_START_BLOCK 
KPROCESSOR_START_BLOCK
 
typedef struct
_KPROCESSOR_START_BLOCK
PKPROCESSOR_START_BLOCK
 

Enumerations

enum  CPU_VENDORS {
  CPU_UNKNOWN, CPU_AMD, CPU_INTEL, CPU_VIA,
  CPU_NONE = 0, CPU_INTEL = 1, CPU_AMD = 2, CPU_CYRIX = 3,
  CPU_TRANSMETA = 4, CPU_VIA = 5, CPU_CENTAUR = CPU_VIA, CPU_RISE = 6,
  CPU_UNKNOWN = 7
}
 

Functions

FORCEINLINE struct _KPRCBKeGetCurrentPrcb (VOID)
 

Macro Definition Documentation

#define _LDT_ENTRY_DEFINED

Definition at line 396 of file ketypes.h.

#define APIC_BASE   0xFFFFFFFFFFFE0000ULL

Definition at line 258 of file ketypes.h.

#define CR4_CHANNELS   0x800

Definition at line 94 of file ketypes.h.

#define CR4_DE   0x8

Definition at line 87 of file ketypes.h.

Referenced by Ki386EnableDE().

#define CR4_FXSR   0x200

Definition at line 92 of file ketypes.h.

Referenced by ArchInitializeContext(), Ki386EnableFxsr(), and KiInitializeCpu().

#define CR4_MCE   0x40

Definition at line 90 of file ketypes.h.

#define CR4_PAE   0x20

Definition at line 89 of file ketypes.h.

Referenced by ArchSwitchContext(), and BlpArchEnableTranslation().

#define CR4_PGE   0x80
#define CR4_PSE   0x10

Definition at line 88 of file ketypes.h.

Referenced by MiUseLargeDriverPage().

#define CR4_PVI   0x2

Definition at line 85 of file ketypes.h.

#define CR4_TSD   0x4

Definition at line 86 of file ketypes.h.

#define CR4_VME   0x1

Definition at line 84 of file ketypes.h.

Referenced by Ki386VdmEnablePentiumExtentions().

#define CR4_XMMEXCPT   0x400

Definition at line 93 of file ketypes.h.

Referenced by Ki386EnableXMMIExceptions(), and KiInitializeCpu().

#define CR4_XSAVE   0x40000

Definition at line 95 of file ketypes.h.

#define DEBUG_ACTIVE_DBG_INSTRUMENTED   0x0003

Definition at line 110 of file ketypes.h.

#define DEBUG_ACTIVE_DR7   0x0001

Definition at line 108 of file ketypes.h.

#define DEBUG_ACTIVE_INSTRUMENTED   0x0002

Definition at line 109 of file ketypes.h.

#define DEBUG_ACTIVE_MINIMAL_THREAD   0x0004

Definition at line 111 of file ketypes.h.

#define DEBUG_ACTIVE_PRIMARY_THREAD   0x0080

Definition at line 112 of file ketypes.h.

#define DEBUG_ACTIVE_PRIMARY_THREAD_BIT   0x0007

Definition at line 113 of file ketypes.h.

#define DEBUG_ACTIVE_PRIMARY_THREAD_LOCK_BIT   0x001F

Definition at line 114 of file ketypes.h.

#define DEBUG_ACTIVE_SCHEDULED_THREAD   0x0040

Definition at line 115 of file ketypes.h.

#define DEBUG_ACTIVE_SCHEDULED_THREAD_BIT   0x0006

Definition at line 116 of file ketypes.h.

#define DEBUG_ACTIVE_SCHEDULED_THREAD_LOCK   0x40000000

Definition at line 118 of file ketypes.h.

#define DEBUG_ACTIVE_SCHEDULED_THREAD_LOCK_BIT   0x001E

Definition at line 117 of file ketypes.h.

#define DR7_ACTIVE   0x00000355

Definition at line 101 of file ketypes.h.

#define DR7_LAST_BRANCH   0x00000100

Definition at line 103 of file ketypes.h.

#define DR7_LEGAL   0xFFFF0355

Definition at line 100 of file ketypes.h.

Referenced by KeContextToTrapFrame().

#define DR7_TRACE_BRANCH   0x00000200

Definition at line 102 of file ketypes.h.

#define EFLAG_SIGN   0x8000

Definition at line 134 of file ketypes.h.

#define EFLAG_ZERO   0x4000

Definition at line 135 of file ketypes.h.

#define EFLAGS_ALIGN_CHECK   0x40000

Definition at line 130 of file ketypes.h.

Referenced by KiVdmOpcodeINTnn(), KiVdmOpcodePOPF(), and KiVdmOpcodePUSHF().

#define EFLAGS_CF   0x01L

Definition at line 123 of file ketypes.h.

Referenced by GetExtendedMemoryConfiguration(), and PcMemGetBiosMemoryMap().

#define EFLAGS_DF   0x400L

Definition at line 127 of file ketypes.h.

#define EFLAGS_ID_MASK   0x200000

Definition at line 138 of file ketypes.h.

#define EFLAGS_IF_MASK   0x0200

Definition at line 139 of file ketypes.h.

Referenced by KiInitializeCpu().

#define EFLAGS_IF_SHIFT   0x0009

Definition at line 140 of file ketypes.h.

#define EFLAGS_NESTED_TASK   0x4000L
#define EFLAGS_TF_MASK   0x0100

Definition at line 136 of file ketypes.h.

#define EFLAGS_TF_SHIFT   0x0008

Definition at line 137 of file ketypes.h.

#define EFLAGS_USER_SANITIZE   0x3F4DD7

Definition at line 133 of file ketypes.h.

Referenced by Ke386SanitizeFlags(), KiInitializeUserApc(), and VdmSwapContext().

#define EFLAGS_VIF   0x80000
#define EFLAGS_VIP   0x100000

Definition at line 132 of file ketypes.h.

Referenced by KiVdmOpcodeIRET(), and VdmEndExecution().

#define EFLAGS_ZF   0x40L

Definition at line 124 of file ketypes.h.

Referenced by PcConsKbHit().

#define FSW_CONDITION_CODE_0   0x0100

Definition at line 173 of file ketypes.h.

#define FSW_CONDITION_CODE_1   0x0200

Definition at line 174 of file ketypes.h.

#define FSW_CONDITION_CODE_2   0x0400

Definition at line 175 of file ketypes.h.

#define FSW_CONDITION_CODE_3   0x4000

Definition at line 176 of file ketypes.h.

#define FSW_DENORMAL   0x0002

Definition at line 166 of file ketypes.h.

Referenced by KiNpxHandler(), and KiTrap13Handler().

#define FSW_ERROR_MASK   0x003F

Definition at line 177 of file ketypes.h.

#define FSW_ERROR_SUMMARY   0x0080

Definition at line 172 of file ketypes.h.

#define FSW_INVALID_OPERATION   0x0001

Definition at line 165 of file ketypes.h.

Referenced by KiNpxHandler(), and KiTrap13Handler().

#define FSW_OVERFLOW   0x0008

Definition at line 168 of file ketypes.h.

Referenced by KiNpxHandler(), and KiTrap13Handler().

#define FSW_PRECISION   0x0020

Definition at line 170 of file ketypes.h.

Referenced by KiNpxHandler(), and KiTrap13Handler().

#define FSW_STACK_FAULT   0x0040

Definition at line 171 of file ketypes.h.

Referenced by KiNpxHandler().

#define FSW_UNDERFLOW   0x0010

Definition at line 169 of file ketypes.h.

Referenced by KiNpxHandler(), and KiTrap13Handler().

#define FSW_ZERO_DIVIDE   0x0004

Definition at line 167 of file ketypes.h.

Referenced by KiNpxHandler(), and KiTrap13Handler().

#define I386_ACTIVE_TSS   0xB

Definition at line 61 of file ketypes.h.

Referenced by KiTrap02().

#define I386_CALL_GATE   0xC

Definition at line 62 of file ketypes.h.

#define I386_INTERRUPT_GATE   0xE

Definition at line 63 of file ketypes.h.

Referenced by Ki386EnableXMMIExceptions(), and SetInterruptGate().

#define I386_TASK_GATE   0x5

Definition at line 59 of file ketypes.h.

Referenced by Ki386InitializeTss().

#define I386_TRAP_GATE   0xF

Definition at line 64 of file ketypes.h.

#define I386_TSS   0x9

Definition at line 60 of file ketypes.h.

Referenced by Amd64SetupGdt(), HalpBorrowTss(), HalpReturnTss(), Ki386InitializeTss(), and KiTrap02().

#define INITIAL_STALL_COUNT   100

Definition at line 255 of file ketypes.h.

#define IO_ACCESS_MAP_NONE   0
#define IOPM_OFFSET   FIELD_OFFSET(KTSS, IoMaps[0].IoMap)

Definition at line 264 of file ketypes.h.

Referenced by Ke386CallBios().

#define IPI_APC   1

Definition at line 232 of file ketypes.h.

Referenced by KiIpiServiceRoutine().

#define IPI_DPC   2
#define IPI_FREEZE   4

Definition at line 234 of file ketypes.h.

Referenced by KeBugCheckWithTf().

#define IPI_PACKET_READY   8

Definition at line 235 of file ketypes.h.

#define IPI_SYNCH_REQUEST   16

Definition at line 236 of file ketypes.h.

Referenced by KiIpiServiceRoutine().

#define ISR_STACK_SIZE   0x6000

Definition at line 281 of file ketypes.h.

#define KEXCEPTION_ACTIVE_EXCEPTION_FRAME   0x0001

Definition at line 249 of file ketypes.h.

#define KEXCEPTION_ACTIVE_INTERRUPT_FRAME   0x0000

Definition at line 248 of file ketypes.h.

#define KEXCEPTION_ACTIVE_SERVICE_FRAME   0x0002

Definition at line 250 of file ketypes.h.

#define KGDT64_NULL   0x0000

Definition at line 71 of file ketypes.h.

Referenced by Amd64SetupGdt().

#define KGDT64_R0_DATA   0x0018
#define KGDT64_R0_LDT   0x0060

Definition at line 79 of file ketypes.h.

#define KGDT64_R3_CMCODE   0x0020

Definition at line 74 of file ketypes.h.

Referenced by Amd64SetupGdt(), and KiInitializeCpu().

#define KGDT64_R3_CODE   0x0030
#define KGDT64_SYS_TSS   0x0040
#define KiComputeIopmOffset (   MapNumber)
Value:
(MapNumber == IO_ACCESS_MAP_NONE) ? \
(USHORT)(sizeof(KTSS)) : \
(USHORT)(FIELD_OFFSET(KTSS, IoMaps[MapNumber-1].IoMap))
#define KTSS
Definition: ketypes.h:920
Definition: ketypes.h:787
#define IO_ACCESS_MAP_NONE
Definition: ketypes.h:263
unsigned short USHORT
Definition: pedump.c:61
#define FIELD_OFFSET(t, f)
Definition: typedefs.h:255

Definition at line 265 of file ketypes.h.

Referenced by HalpSetupRealModeIoPermissionsAndTask(), Ke386IoSetAccessProcess(), KeInitializeProcess(), and KiInitializeTSS().

Definition at line 920 of file ketypes.h.

Referenced by KiInitializeTSS2(), and WinLdrSetupMachineDependent().

#define MACHINE_TYPE_EISA   0x0001
#define MACHINE_TYPE_ISA   0x0000
#define MACHINE_TYPE_MCA   0x0002

Definition at line 54 of file ketypes.h.

Referenced by HalReportResourceUsage().

#define MM_HAL_VA_END   0xFFFFFFFFFFFFFFFFULL

Definition at line 257 of file ketypes.h.

Referenced by MiAddHalIoMappings(), and MiInitSystemMemoryAreas().

#define MM_HAL_VA_START   0xFFFFFFFFFFC00000ULL /* This is Vista+ */
#define MODE_MASK   0x0001

Definition at line 70 of file ketypes.h.

#define MSR_AMD_ACCESS   0x9C5A203A

Definition at line 191 of file ketypes.h.

#define MSR_CSTAR   0xC0000083

Definition at line 185 of file ketypes.h.

Referenced by KiInitializeCpu().

#define MSR_DEBUG_CTL   0x01D9

Definition at line 216 of file ketypes.h.

#define MSR_DEBUG_CTL_BTF   equ 0x0002

Definition at line 227 of file ketypes.h.

#define MSR_DEBUG_CTL_LBR   equ 0x0001

Definition at line 226 of file ketypes.h.

#define MSR_EFER   0xC0000080

Definition at line 182 of file ketypes.h.

Referenced by KiInitializeCpu().

#define MSR_FS_BASE   0xC0000100

Definition at line 187 of file ketypes.h.

#define MSR_GS_BASE   0xC0000101

Definition at line 188 of file ketypes.h.

Referenced by KiInitializeCpu().

#define MSR_GS_SWAP   0xC0000102

Definition at line 189 of file ketypes.h.

Referenced by KiInitializeCpu(), and KiSwapContextResume().

#define MSR_IA32_MISC_ENABLE   0x01A0

Definition at line 192 of file ketypes.h.

#define MSR_LAST_BRANCH_FROM   0x01DB

Definition at line 193 of file ketypes.h.

#define MSR_LAST_BRANCH_TO   0x01DC

Definition at line 194 of file ketypes.h.

#define MSR_LAST_EXCEPTION_FROM   0x01DD

Definition at line 195 of file ketypes.h.

#define MSR_LAST_EXCEPTION_TO   0x01DE

Definition at line 196 of file ketypes.h.

#define MSR_LMA   0x0400

Definition at line 213 of file ketypes.h.

#define MSR_LME   0x0100

Definition at line 212 of file ketypes.h.

#define MSR_LSTAR   0xC0000082

Definition at line 184 of file ketypes.h.

Referenced by KiInitializeCpu().

#define MSR_MCG_STATUS   0x017A

Definition at line 190 of file ketypes.h.

#define MSR_NXE   0x0800

Definition at line 214 of file ketypes.h.

Referenced by KiInitializeCpu().

#define MSR_PAT   0x0277

Definition at line 215 of file ketypes.h.

Referenced by KiInitializeCpu().

#define MSR_SCE   0x0001

Definition at line 211 of file ketypes.h.

Referenced by KiInitializeCpu().

#define MSR_STAR   0xC0000081

Definition at line 183 of file ketypes.h.

Referenced by KiInitializeCpu().

#define MSR_SYSCALL_MASK   0xC0000084

Definition at line 186 of file ketypes.h.

Referenced by KiInitializeCpu().

#define MSR_XD_ENABLE_MASK   0xFFFFFFFB

Definition at line 221 of file ketypes.h.

#define NMI_STACK_SIZE   0x2000

Definition at line 280 of file ketypes.h.

#define NUMBER_POOL_LOOKASIDE_LISTS   32

Definition at line 286 of file ketypes.h.

Referenced by ExAllocatePoolWithTag(), and ExFreePoolWithTag().

#define PAT_UC   0ULL

Definition at line 201 of file ketypes.h.

Referenced by KiInitializeCpu().

#define PAT_UCM   7ULL

Definition at line 206 of file ketypes.h.

Referenced by KiInitializeCpu().

#define PAT_WB   6ULL

Definition at line 205 of file ketypes.h.

Referenced by KiInitializeCpu().

#define PAT_WC   1ULL

Definition at line 202 of file ketypes.h.

Referenced by KiInitializeCpu().

#define PAT_WP   5ULL

Definition at line 204 of file ketypes.h.

#define PAT_WT   4ULL

Definition at line 203 of file ketypes.h.

#define PCR   ((volatile KPCR * const)__readgsqword(FIELD_OFFSET(KPCR, Self)))

Definition at line 32 of file ketypes.h.

Definition at line 480 of file ketypes.h.

Referenced by BlpArchInitialize(), and Ki386InitializeTss().

#define PRCB_BUILD_DEBUG   1

Definition at line 242 of file ketypes.h.

Referenced by DriverEntry(), HalInitSystem(), and KiInitializePcr().

#define PRCB_BUILD_UNIPROCESSOR   2

Definition at line 243 of file ketypes.h.

Referenced by DriverEntry(), HalInitSystem(), and KiInitializePcr().

#define PRCB_MAJOR_VERSION   1

Definition at line 241 of file ketypes.h.

Referenced by HalInitSystem(), and KiInitializePcr().

#define PROCESSOR_START_FLAG_FORCE_ENABLE_NX   0x0001

Definition at line 1030 of file ketypes.h.

#define SYNCH_LEVEL   12

Definition at line 278 of file ketypes.h.

#define XCW_DENORMAL   0x0100

Definition at line 152 of file ketypes.h.

#define XCW_FLUSH_ZERO   0x8000

Definition at line 158 of file ketypes.h.

#define XCW_INVALID_OPERATION   0x0080

Definition at line 151 of file ketypes.h.

#define XCW_OVERFLOW   0x0400

Definition at line 154 of file ketypes.h.

#define XCW_PRECISION   0x1000

Definition at line 156 of file ketypes.h.

#define XCW_ROUND_CONTROL   0x6000

Definition at line 157 of file ketypes.h.

#define XCW_UNDERFLOW   0x0800

Definition at line 155 of file ketypes.h.

#define XCW_ZERO_DIVIDE   0x0200

Definition at line 153 of file ketypes.h.

#define XSW_DENORMAL   0x0002

Definition at line 146 of file ketypes.h.

#define XSW_ERROR_MASK   0x003F

Definition at line 159 of file ketypes.h.

#define XSW_ERROR_SHIFT   7

Definition at line 160 of file ketypes.h.

#define XSW_INVALID_OPERATION   0x0001

Definition at line 145 of file ketypes.h.

#define XSW_OVERFLOW   0x0008

Definition at line 148 of file ketypes.h.

#define XSW_PRECISION   0x0020

Definition at line 150 of file ketypes.h.

#define XSW_UNDERFLOW   0x0010

Definition at line 149 of file ketypes.h.

#define XSW_ZERO_DIVIDE   0x0004

Definition at line 147 of file ketypes.h.

Typedef Documentation

typedef union _CPU_INFO CPU_INFO

Definition at line 976 of file ketypes.h.

typedef union _KGDTENTRY64 KGDTENTRY64
typedef union _KIDTENTRY64 KIDTENTRY64
typedef struct _KIPCR KIPCR
typedef struct _KPRCB KPRCB
typedef ULONG LDT_ENTRY

Definition at line 397 of file ketypes.h.

typedef union _CPU_INFO * PCPU_INFO

Definition at line 976 of file ketypes.h.

typedef union _KGDTENTRY64 * PKGDTENTRY64
typedef union _KIDTENTRY64 * PKIDTENTRY64
typedef struct _KIPCR * PKIPCR
typedef struct _KPRCB * PKPRCB
typedef struct _KTSS64 * PKTSS64

Enumeration Type Documentation

Enumerator
CPU_UNKNOWN 
CPU_AMD 
CPU_INTEL 
CPU_VIA 
CPU_NONE 
CPU_INTEL 
CPU_AMD 
CPU_CYRIX 
CPU_TRANSMETA 
CPU_VIA 
CPU_CENTAUR 
CPU_RISE 
CPU_UNKNOWN 

Definition at line 41 of file ketypes.h.

42 {
44  CPU_AMD,
45  CPU_INTEL,
46  CPU_VIA
47 } CPU_VENDORS;
CPU_VENDORS
Definition: ketypes.h:41

Function Documentation

FORCEINLINE struct _KPRCB* KeGetCurrentPrcb ( VOID  )

Definition at line 1054 of file ketypes.h.

Referenced by APICCalibrateTimer(), DpcHandler(), DriverEntry(), ExAllocatePoolWithTag(), ExFreePoolWithTag(), ExGetCurrentProcessorCounts(), ExGetCurrentProcessorCpuUsage(), ExInitPoolLookasidePointers(), HalEnableSystemInterrupt(), HalInitSystem(), HalpFlushTLB(), HalpInitializeTsc(), HalpRegisterInternalBusHandlers(), IoAllocateIrp(), IoFreeIrp(), IoGetStackLimits(), IopFreeMiniPacket(), IoSetIoCompletion(), KdEnterDebugger(), KdpCommandString(), KdpGetContext(), KdpGetContextEx(), KdpPrintString(), KdpPromptString(), KdpReport(), KdpSetCommonState(), KdpSetContext(), KdpSetContextEx(), KdpSetContextState(), KdpSymbol(), Ke386IoSetAccessProcess(), Ke386SetIoAccessMap(), KeAcquireQueuedSpinLock(), KeAcquireQueuedSpinLockRaiseToSynch(), KeBugCheckWithTf(), KeDelayExecutionThread(), KeFlushEntireTb(), KeFlushQueuedDpcs(), KeGenericCallDpc(), KeGetCurrentThread(), KeInsertQueueDpc(), KeIpiGenericCall(), KeIsExecutingDpc(), KeReleaseQueuedSpinLock(), KeRemoveQueue(), KeRevertToUserAffinityThread(), KeRosDumpTriageForBugZillaReport(), KeSetSystemAffinityThread(), KeSignalGateBoostPriority(), KeTerminateThread(), KeUpdateRunTime(), KeUpdateSystemTime(), KeWaitForGate(), KeWaitForMultipleObjects(), KeWaitForSingleObject(), Ki386PerfEnd(), KiAcquireDeviceQueueLock(), KiAdjustQuantumThread(), KiChainedDispatch(), KiCheckTimerTable(), KiDeliverApc(), KiDispatchException(), KiDpcInterruptHandler(), KiExitDispatcher(), KiFlushNPXState(), KiGetCacheInformation(), KiGetCpuVendor(), KiGetFeatureBits(), KiHandleDebugRegistersOnTrapEntry(), KiIdleLoop(), KiInitializeHandBuiltThread(), KiInitMachineDependent(), KiInterruptDispatch(), KiInterruptDispatch3(), KiIpiServiceRoutine(), KiIsNpxPresent(), KiLoadFastSyscallMachineSpecificRegisters(), KiNpxHandler(), KiQuantumEnd(), KiReleaseDeviceQueueLock(), KiRundownThread(), KiSaveProcessorState(), KiSetCR0Bits(), KiSetProcessorType(), KiSetupDecrementerTrap(), KiSystemServiceHandler(), KiSystemStartupBootStack(), KiSystemStartupReal(), KiTimerExpiration(), KiTimerListExpire(), KiTrap07Handler(), KiTrap10Handler(), KiTrap13Handler(), KiUnexpectedInterruptTailHandler(), KxQueueReadyThread(), MiAllocatePoolPages(), MiComputeColorInformation(), MiDispatchFault(), MiResolveDemandZeroFault(), MiResolveProtoPteFault(), MiResolveTransitionFault(), MmArmAccessFault(), NtQueryInformationProcess(), NtYieldExecution(), ObInitSystem(), ObpAllocateObjectCreateInfoBuffer(), ObpFreeCapturedAttributes(), PspUserThreadStartup(), RtlpHandleDpcStackException(), and START_TEST().

1055 {
1056  return (struct _KPRCB *)__readgsqword(FIELD_OFFSET(KIPCR, CurrentPrcb));
1057 }
#define FIELD_OFFSET(t, f)
Definition: typedefs.h:255