From 276eb77862e69e9494b9db19e2a4ba2663584af0 Mon Sep 17 00:00:00 2001 From: Rafal Kupiec Date: Tue, 7 May 2024 16:20:40 +0200 Subject: [PATCH] Update KPROCESSOR_BLOCK structure --- sdk/xtdk/amd64/ketypes.h | 5 +++++ sdk/xtdk/i686/ketypes.h | 23 +++++++++++++++++------ 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/sdk/xtdk/amd64/ketypes.h b/sdk/xtdk/amd64/ketypes.h index 4618b04..08e616f 100644 --- a/sdk/xtdk/amd64/ketypes.h +++ b/sdk/xtdk/amd64/ketypes.h @@ -526,8 +526,13 @@ typedef struct _KPROCESSOR_BLOCK PKIDTENTRY IdtBase; KRUNLEVEL RunLevel; KPROCESSOR_CONTROL_BLOCK Prcb; + ULONG Irr; + ULONG IrrActive; + ULONG Idr; ULONG ContextSwitches; + KAFFINITY SetMember; ULONG StallScaleFactor; + UCHAR CpuNumber; } KPROCESSOR_BLOCK, *PKPROCESSOR_BLOCK; /* Thread Environment Block (TEB) structure definition */ diff --git a/sdk/xtdk/i686/ketypes.h b/sdk/xtdk/i686/ketypes.h index 602c831..98cf3f1 100644 --- a/sdk/xtdk/i686/ketypes.h +++ b/sdk/xtdk/i686/ketypes.h @@ -470,16 +470,27 @@ typedef struct _KPROCESSOR_CONTROL_BLOCK /* Processor Block structure definition */ typedef struct _KPROCESSOR_BLOCK { - THREAD_INFORMATION_BLOCK ThreadInformationBlock; - PKPROCESSOR_BLOCK Self; - PKPROCESSOR_CONTROL_BLOCK CurrentPrcb; - KRUNLEVEL RunLevel; + union + { + THREAD_INFORMATION_BLOCK ThreadInformationBlock; + struct + { + PKGDTENTRY GdtBase; + PKTSS TssBase; + PKPROCESSOR_BLOCK Self; + PKPROCESSOR_CONTROL_BLOCK CurrentPrcb; + }; + }; PKIDTENTRY IdtBase; - PKGDTENTRY GdtBase; - PKTSS TssBase; + KRUNLEVEL RunLevel; KPROCESSOR_CONTROL_BLOCK Prcb; + ULONG Irr; + ULONG IrrActive; + ULONG Idr; ULONG ContextSwitches; + KAFFINITY SetMember; ULONG StallScaleFactor; + UCHAR CpuNumber; } KPROCESSOR_BLOCK, *PKPROCESSOR_BLOCK; /* Thread Environment Block (TEB) structure definition */