ReactOS  0.4.15-dev-3294-ge98684e
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  _KUSER_EXCEPTION_STACK
 
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_IOPL   0x3000L
 
#define EFLAGS_NESTED_TASK   0x4000L
 
#define EFLAGS_RF   0x10000
 
#define EFLAGS_V86_MASK   0x20000
 
#define EFLAGS_ALIGN_CHECK   0x40000
 
#define EFLAGS_VIF   0x80000
 
#define EFLAGS_VIP   0x100000
 
#define EFLAGS_ID   0x200000
 
#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   0x0001
 
#define MSR_DEBUG_CTL_BTF   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_REGISTERSPKSPECIAL_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_FRAMEPKCALLOUT_FRAME
 
typedef struct _UCALLOUT_FRAME UCALLOUT_FRAME
 
typedef struct _UCALLOUT_FRAMEPUCALLOUT_FRAME
 
typedef struct _KUSER_EXCEPTION_STACK KUSER_EXCEPTION_STACK
 
typedef struct _KUSER_EXCEPTION_STACKPKUSER_EXCEPTION_STACK
 
typedef struct _DISPATCHER_CONTEXT DISPATCHER_CONTEXT
 
typedef struct _DISPATCHER_CONTEXTPDISPATCHER_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_BLOCKPKPROCESSOR_START_BLOCK
 

Enumerations

enum  CPU_VENDORS {
  CPU_UNKNOWN, CPU_AMD, CPU_INTEL, CPU_VIA,
  CPU_UNKNOWN = 0, 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

◆ _LDT_ENTRY_DEFINED

#define _LDT_ENTRY_DEFINED

Definition at line 400 of file ketypes.h.

◆ APIC_BASE

#define APIC_BASE   0xFFFFFFFFFFFE0000ULL

Definition at line 262 of file ketypes.h.

◆ CR4_CHANNELS

#define CR4_CHANNELS   0x800

Definition at line 94 of file ketypes.h.

◆ CR4_DE

#define CR4_DE   0x8

Definition at line 87 of file ketypes.h.

◆ CR4_FXSR

#define CR4_FXSR   0x200

Definition at line 92 of file ketypes.h.

◆ CR4_MCE

#define CR4_MCE   0x40

Definition at line 90 of file ketypes.h.

◆ CR4_PAE

#define CR4_PAE   0x20

Definition at line 89 of file ketypes.h.

◆ CR4_PGE

#define CR4_PGE   0x80

Definition at line 91 of file ketypes.h.

◆ CR4_PSE

#define CR4_PSE   0x10

Definition at line 88 of file ketypes.h.

◆ CR4_PVI

#define CR4_PVI   0x2

Definition at line 85 of file ketypes.h.

◆ CR4_TSD

#define CR4_TSD   0x4

Definition at line 86 of file ketypes.h.

◆ CR4_VME

#define CR4_VME   0x1

Definition at line 84 of file ketypes.h.

◆ CR4_XMMEXCPT

#define CR4_XMMEXCPT   0x400

Definition at line 93 of file ketypes.h.

◆ CR4_XSAVE

#define CR4_XSAVE   0x40000

Definition at line 95 of file ketypes.h.

◆ DEBUG_ACTIVE_DBG_INSTRUMENTED

#define DEBUG_ACTIVE_DBG_INSTRUMENTED   0x0003

Definition at line 110 of file ketypes.h.

◆ DEBUG_ACTIVE_DR7

#define DEBUG_ACTIVE_DR7   0x0001

Definition at line 108 of file ketypes.h.

◆ DEBUG_ACTIVE_INSTRUMENTED

#define DEBUG_ACTIVE_INSTRUMENTED   0x0002

Definition at line 109 of file ketypes.h.

◆ DEBUG_ACTIVE_MINIMAL_THREAD

#define DEBUG_ACTIVE_MINIMAL_THREAD   0x0004

Definition at line 111 of file ketypes.h.

◆ DEBUG_ACTIVE_PRIMARY_THREAD

#define DEBUG_ACTIVE_PRIMARY_THREAD   0x0080

Definition at line 112 of file ketypes.h.

◆ DEBUG_ACTIVE_PRIMARY_THREAD_BIT

#define DEBUG_ACTIVE_PRIMARY_THREAD_BIT   0x0007

Definition at line 113 of file ketypes.h.

◆ DEBUG_ACTIVE_PRIMARY_THREAD_LOCK_BIT

#define DEBUG_ACTIVE_PRIMARY_THREAD_LOCK_BIT   0x001F

Definition at line 114 of file ketypes.h.

◆ DEBUG_ACTIVE_SCHEDULED_THREAD

#define DEBUG_ACTIVE_SCHEDULED_THREAD   0x0040

Definition at line 115 of file ketypes.h.

◆ DEBUG_ACTIVE_SCHEDULED_THREAD_BIT

#define DEBUG_ACTIVE_SCHEDULED_THREAD_BIT   0x0006

Definition at line 116 of file ketypes.h.

◆ DEBUG_ACTIVE_SCHEDULED_THREAD_LOCK

#define DEBUG_ACTIVE_SCHEDULED_THREAD_LOCK   0x40000000

Definition at line 118 of file ketypes.h.

◆ DEBUG_ACTIVE_SCHEDULED_THREAD_LOCK_BIT

#define DEBUG_ACTIVE_SCHEDULED_THREAD_LOCK_BIT   0x001E

Definition at line 117 of file ketypes.h.

◆ DR7_ACTIVE

#define DR7_ACTIVE   0x00000355

Definition at line 101 of file ketypes.h.

◆ DR7_LAST_BRANCH

#define DR7_LAST_BRANCH   0x00000100

Definition at line 103 of file ketypes.h.

◆ DR7_LEGAL

#define DR7_LEGAL   0xFFFF0355

Definition at line 100 of file ketypes.h.

◆ DR7_TRACE_BRANCH

#define DR7_TRACE_BRANCH   0x00000200

Definition at line 102 of file ketypes.h.

◆ EFLAG_SIGN

#define EFLAG_SIGN   0x8000

Definition at line 138 of file ketypes.h.

◆ EFLAG_ZERO

#define EFLAG_ZERO   0x4000

Definition at line 139 of file ketypes.h.

◆ EFLAGS_ALIGN_CHECK

#define EFLAGS_ALIGN_CHECK   0x40000

Definition at line 133 of file ketypes.h.

◆ EFLAGS_CF

#define EFLAGS_CF   0x01L

Definition at line 123 of file ketypes.h.

◆ EFLAGS_DF

#define EFLAGS_DF   0x400L

Definition at line 127 of file ketypes.h.

◆ EFLAGS_ID

#define EFLAGS_ID   0x200000

Definition at line 136 of file ketypes.h.

◆ EFLAGS_ID_MASK

#define EFLAGS_ID_MASK   0x200000

Definition at line 142 of file ketypes.h.

◆ EFLAGS_IF_MASK

#define EFLAGS_IF_MASK   0x0200

Definition at line 143 of file ketypes.h.

◆ EFLAGS_IF_SHIFT

#define EFLAGS_IF_SHIFT   0x0009

Definition at line 144 of file ketypes.h.

◆ EFLAGS_INTERRUPT_MASK

#define EFLAGS_INTERRUPT_MASK   0x200L

Definition at line 126 of file ketypes.h.

◆ EFLAGS_IOPL

#define EFLAGS_IOPL   0x3000L

Definition at line 128 of file ketypes.h.

◆ EFLAGS_NESTED_TASK

#define EFLAGS_NESTED_TASK   0x4000L

Definition at line 129 of file ketypes.h.

◆ EFLAGS_RF

#define EFLAGS_RF   0x10000

Definition at line 131 of file ketypes.h.

◆ EFLAGS_TF

#define EFLAGS_TF   0x100L

Definition at line 125 of file ketypes.h.

◆ EFLAGS_TF_MASK

#define EFLAGS_TF_MASK   0x0100

Definition at line 140 of file ketypes.h.

◆ EFLAGS_TF_SHIFT

#define EFLAGS_TF_SHIFT   0x0008

Definition at line 141 of file ketypes.h.

◆ EFLAGS_USER_SANITIZE

#define EFLAGS_USER_SANITIZE   0x3F4DD7

Definition at line 137 of file ketypes.h.

◆ EFLAGS_V86_MASK

#define EFLAGS_V86_MASK   0x20000

Definition at line 132 of file ketypes.h.

◆ EFLAGS_VIF

#define EFLAGS_VIF   0x80000

Definition at line 134 of file ketypes.h.

◆ EFLAGS_VIP

#define EFLAGS_VIP   0x100000

Definition at line 135 of file ketypes.h.

◆ EFLAGS_ZF

#define EFLAGS_ZF   0x40L

Definition at line 124 of file ketypes.h.

◆ FSW_CONDITION_CODE_0

#define FSW_CONDITION_CODE_0   0x0100

Definition at line 177 of file ketypes.h.

◆ FSW_CONDITION_CODE_1

#define FSW_CONDITION_CODE_1   0x0200

Definition at line 178 of file ketypes.h.

◆ FSW_CONDITION_CODE_2

#define FSW_CONDITION_CODE_2   0x0400

Definition at line 179 of file ketypes.h.

◆ FSW_CONDITION_CODE_3

#define FSW_CONDITION_CODE_3   0x4000

Definition at line 180 of file ketypes.h.

◆ FSW_DENORMAL

#define FSW_DENORMAL   0x0002

Definition at line 170 of file ketypes.h.

◆ FSW_ERROR_MASK

#define FSW_ERROR_MASK   0x003F

Definition at line 181 of file ketypes.h.

◆ FSW_ERROR_SUMMARY

#define FSW_ERROR_SUMMARY   0x0080

Definition at line 176 of file ketypes.h.

◆ FSW_INVALID_OPERATION

#define FSW_INVALID_OPERATION   0x0001

Definition at line 169 of file ketypes.h.

◆ FSW_OVERFLOW

#define FSW_OVERFLOW   0x0008

Definition at line 172 of file ketypes.h.

◆ FSW_PRECISION

#define FSW_PRECISION   0x0020

Definition at line 174 of file ketypes.h.

◆ FSW_STACK_FAULT

#define FSW_STACK_FAULT   0x0040

Definition at line 175 of file ketypes.h.

◆ FSW_UNDERFLOW

#define FSW_UNDERFLOW   0x0010

Definition at line 173 of file ketypes.h.

◆ FSW_ZERO_DIVIDE

#define FSW_ZERO_DIVIDE   0x0004

Definition at line 171 of file ketypes.h.

◆ I386_ACTIVE_TSS

#define I386_ACTIVE_TSS   0xB

Definition at line 61 of file ketypes.h.

◆ I386_CALL_GATE

#define I386_CALL_GATE   0xC

Definition at line 62 of file ketypes.h.

◆ I386_INTERRUPT_GATE

#define I386_INTERRUPT_GATE   0xE

Definition at line 63 of file ketypes.h.

◆ I386_TASK_GATE

#define I386_TASK_GATE   0x5

Definition at line 59 of file ketypes.h.

◆ I386_TRAP_GATE

#define I386_TRAP_GATE   0xF

Definition at line 64 of file ketypes.h.

◆ I386_TSS

#define I386_TSS   0x9

Definition at line 60 of file ketypes.h.

◆ INITIAL_STALL_COUNT

#define INITIAL_STALL_COUNT   100

Definition at line 259 of file ketypes.h.

◆ IO_ACCESS_MAP_NONE

#define IO_ACCESS_MAP_NONE   0

Definition at line 267 of file ketypes.h.

◆ IOPM_OFFSET

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

Definition at line 268 of file ketypes.h.

◆ IPI_APC

#define IPI_APC   1

Definition at line 236 of file ketypes.h.

◆ IPI_DPC

#define IPI_DPC   2

Definition at line 237 of file ketypes.h.

◆ IPI_FREEZE

#define IPI_FREEZE   4

Definition at line 238 of file ketypes.h.

◆ IPI_PACKET_READY

#define IPI_PACKET_READY   8

Definition at line 239 of file ketypes.h.

◆ IPI_SYNCH_REQUEST

#define IPI_SYNCH_REQUEST   16

Definition at line 240 of file ketypes.h.

◆ ISR_STACK_SIZE

#define ISR_STACK_SIZE   0x6000

Definition at line 285 of file ketypes.h.

◆ KEXCEPTION_ACTIVE_EXCEPTION_FRAME

#define KEXCEPTION_ACTIVE_EXCEPTION_FRAME   0x0001

Definition at line 253 of file ketypes.h.

◆ KEXCEPTION_ACTIVE_INTERRUPT_FRAME

#define KEXCEPTION_ACTIVE_INTERRUPT_FRAME   0x0000

Definition at line 252 of file ketypes.h.

◆ KEXCEPTION_ACTIVE_SERVICE_FRAME

#define KEXCEPTION_ACTIVE_SERVICE_FRAME   0x0002

Definition at line 254 of file ketypes.h.

◆ KGDT64_NULL

#define KGDT64_NULL   0x0000

Definition at line 71 of file ketypes.h.

◆ KGDT64_R0_CODE

#define KGDT64_R0_CODE   0x0010

Definition at line 72 of file ketypes.h.

◆ KGDT64_R0_DATA

#define KGDT64_R0_DATA   0x0018

Definition at line 73 of file ketypes.h.

◆ KGDT64_R0_LDT

#define KGDT64_R0_LDT   0x0060

Definition at line 79 of file ketypes.h.

◆ KGDT64_R3_CMCODE

#define KGDT64_R3_CMCODE   0x0020

Definition at line 74 of file ketypes.h.

◆ KGDT64_R3_CMTEB

#define KGDT64_R3_CMTEB   0x0050

Definition at line 78 of file ketypes.h.

◆ KGDT64_R3_CODE

#define KGDT64_R3_CODE   0x0030

Definition at line 76 of file ketypes.h.

◆ KGDT64_R3_DATA

#define KGDT64_R3_DATA   0x0028

Definition at line 75 of file ketypes.h.

◆ KGDT64_SYS_TSS

#define KGDT64_SYS_TSS   0x0040

Definition at line 77 of file ketypes.h.

◆ KGDTENTRY

Definition at line 441 of file ketypes.h.

◆ KiComputeIopmOffset

#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:924
Definition: ketypes.h:789
#define IO_ACCESS_MAP_NONE
Definition: ketypes.h:267
unsigned short USHORT
Definition: pedump.c:61
#define FIELD_OFFSET(t, f)
Definition: typedefs.h:255

Definition at line 269 of file ketypes.h.

◆ KIDTENTRY

Definition at line 483 of file ketypes.h.

◆ KSEG0_BASE

#define KSEG0_BASE   0xfffff80000000000ULL

Definition at line 277 of file ketypes.h.

◆ KTSS

Definition at line 924 of file ketypes.h.

◆ MACHINE_TYPE_EISA

#define MACHINE_TYPE_EISA   0x0001

Definition at line 53 of file ketypes.h.

◆ MACHINE_TYPE_ISA

#define MACHINE_TYPE_ISA   0x0000

Definition at line 52 of file ketypes.h.

◆ MACHINE_TYPE_MCA

#define MACHINE_TYPE_MCA   0x0002

Definition at line 54 of file ketypes.h.

◆ MM_HAL_VA_END

#define MM_HAL_VA_END   0xFFFFFFFFFFFFFFFFULL

Definition at line 261 of file ketypes.h.

◆ MM_HAL_VA_START

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

Definition at line 260 of file ketypes.h.

◆ MODE_MASK

#define MODE_MASK   0x0001

Definition at line 70 of file ketypes.h.

◆ MSR_AMD_ACCESS

#define MSR_AMD_ACCESS   0x9C5A203A

Definition at line 195 of file ketypes.h.

◆ MSR_CSTAR

#define MSR_CSTAR   0xC0000083

Definition at line 189 of file ketypes.h.

◆ MSR_DEBUG_CTL

#define MSR_DEBUG_CTL   0x01D9

Definition at line 220 of file ketypes.h.

◆ MSR_DEBUG_CTL_BTF

#define MSR_DEBUG_CTL_BTF   0x0002

Definition at line 231 of file ketypes.h.

◆ MSR_DEBUG_CTL_LBR

#define MSR_DEBUG_CTL_LBR   0x0001

Definition at line 230 of file ketypes.h.

◆ MSR_EFER

#define MSR_EFER   0xC0000080

Definition at line 186 of file ketypes.h.

◆ MSR_FS_BASE

#define MSR_FS_BASE   0xC0000100

Definition at line 191 of file ketypes.h.

◆ MSR_GS_BASE

#define MSR_GS_BASE   0xC0000101

Definition at line 192 of file ketypes.h.

◆ MSR_GS_SWAP

#define MSR_GS_SWAP   0xC0000102

Definition at line 193 of file ketypes.h.

◆ MSR_IA32_MISC_ENABLE

#define MSR_IA32_MISC_ENABLE   0x01A0

Definition at line 196 of file ketypes.h.

◆ MSR_LAST_BRANCH_FROM

#define MSR_LAST_BRANCH_FROM   0x01DB

Definition at line 197 of file ketypes.h.

◆ MSR_LAST_BRANCH_TO

#define MSR_LAST_BRANCH_TO   0x01DC

Definition at line 198 of file ketypes.h.

◆ MSR_LAST_EXCEPTION_FROM

#define MSR_LAST_EXCEPTION_FROM   0x01DD

Definition at line 199 of file ketypes.h.

◆ MSR_LAST_EXCEPTION_TO

#define MSR_LAST_EXCEPTION_TO   0x01DE

Definition at line 200 of file ketypes.h.

◆ MSR_LMA

#define MSR_LMA   0x0400

Definition at line 217 of file ketypes.h.

◆ MSR_LME

#define MSR_LME   0x0100

Definition at line 216 of file ketypes.h.

◆ MSR_LSTAR

#define MSR_LSTAR   0xC0000082

Definition at line 188 of file ketypes.h.

◆ MSR_MCG_STATUS

#define MSR_MCG_STATUS   0x017A

Definition at line 194 of file ketypes.h.

◆ MSR_NXE

#define MSR_NXE   0x0800

Definition at line 218 of file ketypes.h.

◆ MSR_PAT

#define MSR_PAT   0x0277

Definition at line 219 of file ketypes.h.

◆ MSR_SCE

#define MSR_SCE   0x0001

Definition at line 215 of file ketypes.h.

◆ MSR_STAR

#define MSR_STAR   0xC0000081

Definition at line 187 of file ketypes.h.

◆ MSR_SYSCALL_MASK

#define MSR_SYSCALL_MASK   0xC0000084

Definition at line 190 of file ketypes.h.

◆ MSR_XD_ENABLE_MASK

#define MSR_XD_ENABLE_MASK   0xFFFFFFFB

Definition at line 225 of file ketypes.h.

◆ NMI_STACK_SIZE

#define NMI_STACK_SIZE   0x2000

Definition at line 284 of file ketypes.h.

◆ NUMBER_POOL_LOOKASIDE_LISTS

#define NUMBER_POOL_LOOKASIDE_LISTS   32

Definition at line 290 of file ketypes.h.

◆ PAT_UC

#define PAT_UC   0ULL

Definition at line 205 of file ketypes.h.

◆ PAT_UCM

#define PAT_UCM   7ULL

Definition at line 210 of file ketypes.h.

◆ PAT_WB

#define PAT_WB   6ULL

Definition at line 209 of file ketypes.h.

◆ PAT_WC

#define PAT_WC   1ULL

Definition at line 206 of file ketypes.h.

◆ PAT_WP

#define PAT_WP   5ULL

Definition at line 208 of file ketypes.h.

◆ PAT_WT

#define PAT_WT   4ULL

Definition at line 207 of file ketypes.h.

◆ PCR

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

Definition at line 32 of file ketypes.h.

◆ PKGDTENTRY

Definition at line 442 of file ketypes.h.

◆ PKIDTENTRY

Definition at line 484 of file ketypes.h.

◆ PKTSS

Definition at line 925 of file ketypes.h.

◆ PRCB_BUILD_DEBUG

#define PRCB_BUILD_DEBUG   1

Definition at line 246 of file ketypes.h.

◆ PRCB_BUILD_UNIPROCESSOR

#define PRCB_BUILD_UNIPROCESSOR   2

Definition at line 247 of file ketypes.h.

◆ PRCB_MAJOR_VERSION

#define PRCB_MAJOR_VERSION   1

Definition at line 245 of file ketypes.h.

◆ PROCESSOR_START_FLAG_FORCE_ENABLE_NX

#define PROCESSOR_START_FLAG_FORCE_ENABLE_NX   0x0001

Definition at line 1055 of file ketypes.h.

◆ RPL_MASK

#define RPL_MASK   0x0003

Definition at line 69 of file ketypes.h.

◆ SYNCH_LEVEL

#define SYNCH_LEVEL   12

Definition at line 282 of file ketypes.h.

◆ XCW_DENORMAL

#define XCW_DENORMAL   0x0100

Definition at line 156 of file ketypes.h.

◆ XCW_FLUSH_ZERO

#define XCW_FLUSH_ZERO   0x8000

Definition at line 162 of file ketypes.h.

◆ XCW_INVALID_OPERATION

#define XCW_INVALID_OPERATION   0x0080

Definition at line 155 of file ketypes.h.

◆ XCW_OVERFLOW

#define XCW_OVERFLOW   0x0400

Definition at line 158 of file ketypes.h.

◆ XCW_PRECISION

#define XCW_PRECISION   0x1000

Definition at line 160 of file ketypes.h.

◆ XCW_ROUND_CONTROL

#define XCW_ROUND_CONTROL   0x6000

Definition at line 161 of file ketypes.h.

◆ XCW_UNDERFLOW

#define XCW_UNDERFLOW   0x0800

Definition at line 159 of file ketypes.h.

◆ XCW_ZERO_DIVIDE

#define XCW_ZERO_DIVIDE   0x0200

Definition at line 157 of file ketypes.h.

◆ XSW_DENORMAL

#define XSW_DENORMAL   0x0002

Definition at line 150 of file ketypes.h.

◆ XSW_ERROR_MASK

#define XSW_ERROR_MASK   0x003F

Definition at line 163 of file ketypes.h.

◆ XSW_ERROR_SHIFT

#define XSW_ERROR_SHIFT   7

Definition at line 164 of file ketypes.h.

◆ XSW_INVALID_OPERATION

#define XSW_INVALID_OPERATION   0x0001

Definition at line 149 of file ketypes.h.

◆ XSW_OVERFLOW

#define XSW_OVERFLOW   0x0008

Definition at line 152 of file ketypes.h.

◆ XSW_PRECISION

#define XSW_PRECISION   0x0020

Definition at line 154 of file ketypes.h.

◆ XSW_UNDERFLOW

#define XSW_UNDERFLOW   0x0010

Definition at line 153 of file ketypes.h.

◆ XSW_ZERO_DIVIDE

#define XSW_ZERO_DIVIDE   0x0004

Definition at line 151 of file ketypes.h.

Typedef Documentation

◆ CPU_INFO

typedef union _CPU_INFO CPU_INFO

◆ DISPATCHER_CONTEXT

◆ KCALLOUT_FRAME

Definition at line 988 of file ketypes.h.

◆ KDESCRIPTOR

◆ KEXCEPTION_FRAME

◆ KGDTENTRY64

typedef union _KGDTENTRY64 KGDTENTRY64

◆ KIDT_ACCESS

◆ KIDTENTRY64

typedef union _KIDTENTRY64 KIDTENTRY64

◆ KIIO_ACCESS_MAP

◆ KIPCR

typedef struct _KIPCR KIPCR

◆ KPRCB

typedef struct _KPRCB KPRCB

◆ KPROCESSOR_START_BLOCK

◆ KPROCESSOR_STATE

◆ KREQUEST_PACKET

◆ KSPECIAL_REGISTERS

◆ KSTART_FRAME

◆ KSWITCH_FRAME

◆ KTRAP_FRAME

◆ KTSS64

◆ KUSER_EXCEPTION_STACK

◆ LDT_ENTRY

typedef ULONG LDT_ENTRY

Definition at line 401 of file ketypes.h.

◆ MACHINE_FRAME

◆ PCPU_INFO

typedef union _CPU_INFO * PCPU_INFO

◆ PDISPATCHER_CONTEXT

◆ PKCALLOUT_FRAME

Definition at line 988 of file ketypes.h.

◆ PKDESCRIPTOR

◆ PKEXCEPTION_FRAME

◆ PKGDTENTRY64

typedef union _KGDTENTRY64 * PKGDTENTRY64

◆ PKIDT_ACCESS

◆ PKIDTENTRY64

typedef union _KIDTENTRY64 * PKIDTENTRY64

◆ PKIPCR

typedef struct _KIPCR * PKIPCR

◆ PKPRCB

typedef struct _KPRCB * PKPRCB

◆ PKPROCESSOR_START_BLOCK

◆ PKPROCESSOR_STATE

◆ PKREQUEST_PACKET

◆ PKSPECIAL_REGISTERS

◆ PKSTART_FRAME

◆ PKSWITCH_FRAME

◆ PKTRAP_FRAME

◆ PKTSS64

typedef struct _KTSS64 * PKTSS64

◆ PKUSER_EXCEPTION_STACK

◆ PMACHINE_FRAME

◆ PREQUEST_MAILBOX

◆ PUCALLOUT_FRAME

◆ REQUEST_MAILBOX

◆ UCALLOUT_FRAME

Enumeration Type Documentation

◆ CPU_VENDORS

Enumerator
CPU_UNKNOWN 
CPU_AMD 
CPU_INTEL 
CPU_VIA 
CPU_UNKNOWN 
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

◆ KeGetCurrentPrcb()

FORCEINLINE struct _KPRCB* KeGetCurrentPrcb ( VOID  )

Definition at line 1079 of file ketypes.h.

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

Referenced by _IRQL_requires_min_(), _Requires_lock_held_(), _Requires_lock_not_held_(), 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(), KeInsertQueueDpc(), KeIpiGenericCall(), KeIsExecutingDpc(), KeReleaseQueuedSpinLock(), KeRemoveQueue(), KeRevertToUserAffinityThread(), KeSetSystemAffinityThread(), KeSignalGateBoostPriority(), KeTerminateThread(), KeTryToAcquireQueuedSpinLock(), KeTryToAcquireQueuedSpinLockRaiseToSynch(), KeUpdateRunTime(), KeUpdateSystemTime(), KeWaitForGate(), KeWaitForMultipleObjects(), KeWaitForSingleObject(), Ki386PerfEnd(), KiAcquireDeviceQueueLock(), KiAdjustQuantumThread(), KiChainedDispatch(), KiCheckTimerTable(), KiDeliverApc(), KiDispatchException(), KiExitDispatcher(), KiFlushNPXState(), KiGetCacheInformation(), KiGetCpuVendor(), KiGetFeatureBits(), KiHandleDebugRegistersOnTrapEntry(), KiIdleLoop(), KiInitializeHandBuiltThread(), KiInitMachineDependent(), KiInterruptDispatch(), KiIpiServiceRoutine(), KiIsNpxPresent(), KiLoadFastSyscallMachineSpecificRegisters(), KiNpxHandler(), KiReleaseDeviceQueueLock(), KiRundownThread(), KiSaveProcessorState(), KiSetCR0Bits(), KiSetProcessorType(), KiSystemServiceHandler(), KiSystemStartupBootStack(), KiTimerExpiration(), KiTimerListExpire(), KiTrap07Handler(), KiTrap10Handler(), KiTrap13Handler(), KiUnexpectedInterruptTailHandler(), MiComputeColorInformation(), MiDispatchFault(), MiResolveDemandZeroFault(), MiResolveProtoPteFault(), MiResolveTransitionFault(), MmArmAccessFault(), NtPowerInformation(), NtQueryInformationProcess(), NtYieldExecution(), ObInitSystem(), ObpAllocateObjectCreateInfoBuffer(), ObpFreeCapturedAttributes(), PspUserThreadStartup(), RtlpHandleDpcStackException(), and START_TEST().