diff --git a/sdk/xtdk/ketypes.h b/sdk/xtdk/ketypes.h index f34a097..b3c4799 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 b4a924c..6a619a6 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 5892b7d..51955ee 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; }