From 0a66c8a3a39dd07d80089d600728c2354ae687cb Mon Sep 17 00:00:00 2001 From: Aiken Harris Date: Thu, 6 Aug 2026 13:35:07 +0200 Subject: [PATCH] Initialize handle table support and create system table --- xtoskrnl/ob/lifecycl.cc | 4 ++++ xtoskrnl/ob/obmgr.cc | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/xtoskrnl/ob/lifecycl.cc b/xtoskrnl/ob/lifecycl.cc index 1703e01..15af3e0 100644 --- a/xtoskrnl/ob/lifecycl.cc +++ b/xtoskrnl/ob/lifecycl.cc @@ -1285,6 +1285,10 @@ OB::LifeCycle::InitializeObjectLifeCycle(VOID) /* Clear tracking pointer */ RemoveObjectList = NULLPTR; + /* Create the kernel handle table and attach it to the current process */ + KernelHandleTable = OB::HandleTable::CreateHandleTable(NULLPTR); + PS::Process::GetCurrentProcess()->ObjectTable = KernelHandleTable; + /* Initialize deferred removal work item */ EX::WorkItem::InitializeWorkItem(&RemoveObjectWorkItem, ProcessDeferredDeletionQueue, NULLPTR); } diff --git a/xtoskrnl/ob/obmgr.cc b/xtoskrnl/ob/obmgr.cc index 4946d1f..9ff6720 100644 --- a/xtoskrnl/ob/obmgr.cc +++ b/xtoskrnl/ob/obmgr.cc @@ -78,9 +78,13 @@ OB::Manager::InitializeObjectManager(VOID) /* Initialize system lookaside list for BSP */ InitializeSystemLookasideList(); + /* Initialize handle table support */ + OB::HandleTable::InitializeHandleTable(); + /* Initialize device map support */ OB::DeviceMap::InitializeDeviceMap(); + /* Initialize object life cycle support */ OB::LifeCycle::InitializeObjectLifeCycle(); /* Initialize object type registry */