8#define DISPATCH_LEVEL 2
10#define PROFILE_LEVEL 27
11#define CLOCK1_LEVEL 28
12#define CLOCK2_LEVEL 28
16#define CLOCK_LEVEL CLOCK2_LEVEL
18#define KIP0PCRADDRESS 0xffdff000
19#define KI_USER_SHARED_DATA 0xffdf0000
20#define SharedUserData ((KUSER_SHARED_DATA * CONST)KI_USER_SHARED_DATA)
22#define PAGE_SIZE 0x1000
24#define KeGetDcacheFillSize() 1L
26#define EFLAG_SIGN 0x8000
27#define EFLAG_ZERO 0x4000
28#define EFLAG_SELECT (EFLAG_SIGN | EFLAG_ZERO)
30#define RESULT_NEGATIVE ((EFLAG_SIGN & ~EFLAG_ZERO) & EFLAG_SELECT)
31#define RESULT_ZERO ((~EFLAG_SIGN & EFLAG_ZERO) & EFLAG_SELECT)
32#define RESULT_POSITIVE ((~EFLAG_SIGN & ~EFLAG_ZERO) & EFLAG_SELECT)
48#define YieldProcessor _mm_pause
54 LONG Barrier, *Dummy = &Barrier;
58 __asm__ __volatile__ (
"xchg %%eax, %0" : :
"m" (Barrier) :
"%eax");
59#elif defined(_MSC_VER)
60 __asm xchg [Barrier],
eax
64#define KeMemoryBarrierWithoutFence() _ReadWriteBarrier()
79#define KeLowerIrql(a) KfLowerIrql(a)
89#define KeRaiseIrql(a,b) *(b) = KfRaiseIrql(a)
114#define KeAcquireSpinLock(a,b) *(b) = KfAcquireSpinLock(a)
125#define KeReleaseSpinLock(a,b) KfReleaseSpinLock(a,b)
135#define KeAcquireSpinLockAtDpcLevel(SpinLock) KefAcquireSpinLockAtDpcLevel(SpinLock)
145#define KeReleaseSpinLockFromDpcLevel(SpinLock) KefReleaseSpinLockFromDpcLevel(SpinLock)
172#if (NTDDI_VERSION >= NTDDI_WIN7)
188#define KeFlushIoBuffers(_Mdl, _ReadOperation, _DmaOperation)
191#define DbgRaiseAssertionFailure __int2c
199#ifdef NONAMELESSUNION
211#define KeQueryTickCount(CurrentCount) _KeQueryTickCount(CurrentCount)
216#define PAUSE_PROCESSOR YieldProcessor();
218#define KERNEL_STACK_SIZE 12288
219#define KERNEL_LARGE_STACK_SIZE 61440
220#define KERNEL_LARGE_STACK_COMMIT 12288
222#define SIZE_OF_80387_REGISTERS 80
224#if !defined(RC_INVOKED)
226#define CONTEXT_i386 0x10000
227#define CONTEXT_i486 0x10000
228#define CONTEXT_CONTROL (CONTEXT_i386|0x00000001L)
229#define CONTEXT_INTEGER (CONTEXT_i386|0x00000002L)
230#define CONTEXT_SEGMENTS (CONTEXT_i386|0x00000004L)
231#define CONTEXT_FLOATING_POINT (CONTEXT_i386|0x00000008L)
232#define CONTEXT_DEBUG_REGISTERS (CONTEXT_i386|0x00000010L)
233#define CONTEXT_EXTENDED_REGISTERS (CONTEXT_i386|0x00000020L)
235#define CONTEXT_FULL (CONTEXT_CONTROL|CONTEXT_INTEGER|CONTEXT_SEGMENTS)
236#define CONTEXT_ALL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS | \
237 CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS | \
238 CONTEXT_EXTENDED_REGISTERS)
240#define CONTEXT_XSTATE (CONTEXT_i386 | 0x00000040L)
286#define PCR_MINOR_VERSION 1
287#define PCR_MAJOR_VERSION 1
289typedef struct _KPCR {
338#if (NTDDI_VERSION >= NTDDI_WIN7)
339_CRT_DEPRECATE_TEXT(
"KeGetCurrentProcessorNumber is deprecated. Use KeGetCurrentProcessorNumberEx or KeGetCurrentProcessorIndex instead.")
352#define IsNEC_98 (SharedUserData->AlternativeArchitecture == NEC98x86)
357#define IsNotNEC_98 (SharedUserData->AlternativeArchitecture != NEC98x86)
362#define SetNEC_98 (SharedUserData->AlternativeArchitecture = NEC98x86)
367#define SetNotNEC_98 (SharedUserData->AlternativeArchitecture = StandardDesign)
#define _Acquires_lock_(lock)
#define _Requires_lock_held_(lock)
#define _Requires_lock_not_held_(lock)
#define _Releases_lock_(lock)
#define _CRT_DEPRECATE_TEXT(_Text)
#define _Kernel_float_restored_
#define _Kernel_requires_resource_held_(kind)
#define _IRQL_requires_min_(irql)
#define _Kernel_requires_resource_not_held_(kind)
#define _IRQL_requires_max_(irql)
#define _Kernel_releases_resource_(kind)
#define _IRQL_requires_(irql)
#define _IRQL_raises_(irql)
#define _Kernel_acquires_resource_(kind)
#define _Kernel_float_saved_
#define KeGetCurrentIrql()
IN OUT PLONG IN OUT PLONG Addend IN OUT PLONG IN LONG IN OUT PLONG IN LONG Increment KeRaiseIrqlToDpcLevel
VOID FASTCALL KfLowerIrql(IN KIRQL NewIrql)
KIRQL FASTCALL KfRaiseIrql(IN KIRQL NewIrql)
KIRQL FASTCALL KfAcquireSpinLock(PKSPIN_LOCK SpinLock)
VOID FASTCALL KfReleaseSpinLock(PKSPIN_LOCK SpinLock, KIRQL OldIrql)
#define KeGetCurrentThread
PPC_QUAL unsigned char __readfsbyte(const unsigned long Offset)
PPC_QUAL unsigned long __readfsdword(const unsigned long Offset)
#define KeSaveFloatingPointState(x)
#define KeRestoreFloatingPointState(x)
#define _At_(target, annos)
#define _Must_inspect_result_
#define _Post_satisfies_(cond)
#define SIZE_OF_80387_REGISTERS
NTKERNELAPI volatile KSYSTEM_TIME KeTickCount
VOID FASTCALL KefReleaseSpinLockFromDpcLevel(IN PKSPIN_LOCK SpinLock)
VOID FASTCALL KefAcquireSpinLockAtDpcLevel(IN PKSPIN_LOCK SpinLock)
_In_opt_ PENTER_STATE_SYSTEM_HANDLER _In_opt_ PVOID _In_ LONG _In_opt_ LONG volatile * Number
__asm__(".p2align 4, 0x90\n" ".seh_proc __seh2_global_filter_func\n" "__seh2_global_filter_func:\n" "\tsub %rbp, %rax\n" "\tpush %rbp\n" "\t.seh_pushreg %rbp\n" "\tsub $32, %rsp\n" "\t.seh_stackalloc 32\n" "\t.seh_endprologue\n" "\tsub %rax, %rdx\n" "\tmov %rdx, %rbp\n" "\tjmp *%r8\n" "__seh2_global_filter_func_exit:\n" "\t.p2align 4\n" "\tadd $32, %rsp\n" "\tpop %rbp\n" "\tret\n" "\t.seh_endproc")
FORCEINLINE ULONG KeGetCurrentProcessorNumber(VOID)
FORCEINLINE ULONG KeGetCurrentProcessorIndex(VOID)
FORCEINLINE KIRQL KeRaiseIrqlToSynchLevel(VOID)
$if(_WDMDDK_) typedef struct _KFLOATING_SAVE
FORCEINLINE VOID KeMemoryBarrier(VOID)
$endif(_WDMDDK_) $if(_NTDDK_) typedef struct _NEON128
FORCEINLINE VOID _KeQueryTickCount(OUT PLARGE_INTEGER CurrentCount)
_Requires_lock_held_ SpinLock _Releases_lock_ SpinLock _In_ _IRQL_restores_ KIRQL NewIrql
UCHAR ExtendedRegisters[MAXIMUM_SUPPORTED_EXTENSION]
FLOATING_SAVE_AREA FloatSave
UCHAR RegisterArea[SIZE_OF_80387_REGISTERS]
struct _EXCEPTION_REGISTRATION_RECORD * Used_ExceptionList
UCHAR SecondLevelCacheAssociativity
ULONG SecondLevelCacheSize
ecx edi movl ebx edx edi decl ecx esi eax jecxz decl eax andl eax esi movl eax
#define FIELD_OFFSET(t, f)
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFSPINLOCK * SpinLock
#define MAXIMUM_SUPPORTED_EXTENSION