From 51ec7e3bab0ac585e7799f113d353bde8b31dbdd Mon Sep 17 00:00:00 2001 From: Aiken Harris Date: Wed, 10 Jun 2026 11:56:49 +0200 Subject: [PATCH] Fix build by initializing thread dispatcher header --- sdk/xtdk/ketypes.h | 2 +- xtoskrnl/ke/i686/kthread.cc | 2 +- xtoskrnl/ke/kthread.cc | 5 +++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/sdk/xtdk/ketypes.h b/sdk/xtdk/ketypes.h index f34a09782..b3c479950 100644 --- a/sdk/xtdk/ketypes.h +++ b/sdk/xtdk/ketypes.h @@ -645,7 +645,7 @@ typedef struct _KTHREAD LIST_ENTRY ThreadListEntry; UCHAR LargeStack; UCHAR PowerState; - UCHAR NpxIrql; + UCHAR NpxRunLevel; UCHAR Spare5; BOOLEAN AutoAlignment; UCHAR Iopl; diff --git a/xtoskrnl/ke/i686/kthread.cc b/xtoskrnl/ke/i686/kthread.cc index b4a924c1c..6a619a612 100644 --- a/xtoskrnl/ke/i686/kthread.cc +++ b/xtoskrnl/ke/i686/kthread.cc @@ -66,7 +66,7 @@ KE::KThread::InitializeThreadContext(IN PKTHREAD Thread, /* Disable coprocessor floating point state */ Thread->NpxState = NPX_STATE_UNLOADED; - Thread->Header.NpxIrql = PASSIVE_LEVEL; + Thread->NpxRunLevel = PASSIVE_LEVEL; /* Set initial floating point state */ FxSaveFormat = (PFX_SAVE_FORMAT)ContextRecord->ExtendedRegisters; diff --git a/xtoskrnl/ke/kthread.cc b/xtoskrnl/ke/kthread.cc index 5892b7d10..51955ee89 100644 --- a/xtoskrnl/ke/kthread.cc +++ b/xtoskrnl/ke/kthread.cc @@ -144,8 +144,9 @@ KE::KThread::InitializeThread(IN PKPROCESS Process, Allocation = FALSE; /* Initialize thread dispatcher header */ - Thread->Header.Type = ThreadObject; Thread->Header.SignalState = 0; + Thread->Header.Size = sizeof(KTHREAD) / sizeof(LONG); + Thread->Header.Type = ThreadObject; /* Initialize thread wait list */ RTL::LinkedList::InitializeListHead(&Thread->Header.WaitListHead); @@ -269,7 +270,7 @@ KE::KThread::InitializeThread(IN PKPROCESS Process, */ XTAPI VOID -KE::KThread::StartThread(IN PKTHREAD Thread) +KE::KThread::StartThread(IN OUT PKTHREAD Thread) { UNIMPLEMENTED; }