diff --git a/sdk/xtdk/amd64/ketypes.h b/sdk/xtdk/amd64/ketypes.h index 0dce5be..2d6943f 100644 --- a/sdk/xtdk/amd64/ketypes.h +++ b/sdk/xtdk/amd64/ketypes.h @@ -118,8 +118,8 @@ #define KERNEL_STACK_GUARD_PAGES 1 /* Processor structures size */ -#define KPROCESSOR_STRUCTURES_SIZE ((2 * KERNEL_STACK_SIZE) + sizeof(ArInitialGdt) + sizeof(ArInitialTss) + \ - sizeof(ArInitialProcessorBlock) + MM_PAGE_SIZE) +#define KPROCESSOR_STRUCTURES_SIZE ((2 * KERNEL_STACK_SIZE) + (GDT_ENTRIES * sizeof(KGDTENTRY)) + sizeof(KTSS) + \ + sizeof(KPROCESSOR_BLOCK) + MM_PAGE_SIZE) /* Kernel frames */ #define KEXCEPTION_FRAME_SIZE sizeof(KEXCEPTION_FRAME) diff --git a/sdk/xtdk/i686/ketypes.h b/sdk/xtdk/i686/ketypes.h index be1feba..fc5df51 100644 --- a/sdk/xtdk/i686/ketypes.h +++ b/sdk/xtdk/i686/ketypes.h @@ -144,8 +144,8 @@ #define KERNEL_STACK_GUARD_PAGES 1 /* Processor structures size */ -#define KPROCESSOR_STRUCTURES_SIZE ((2 * KERNEL_STACK_SIZE) + sizeof(ArInitialGdt) + sizeof(ArInitialTss) + \ - sizeof(ArInitialProcessorBlock) + MM_PAGE_SIZE) +#define KPROCESSOR_STRUCTURES_SIZE ((2 * KERNEL_STACK_SIZE) + (GDT_ENTRIES * sizeof(KGDTENTRY)) + sizeof(KTSS) + \ + sizeof(KPROCESSOR_BLOCK) + MM_PAGE_SIZE) /* Kernel frames */ #define KTRAP_FRAME_ALIGN 0x08 diff --git a/xtoskrnl/includes/xtos.h b/xtoskrnl/includes/xtos.h index 4dd1f24..ad86770 100644 --- a/xtoskrnl/includes/xtos.h +++ b/xtoskrnl/includes/xtos.h @@ -13,17 +13,7 @@ #include /* Kernel specific headers */ -#include "globals.h" -#include "hli.h" -#include "kdi.h" #include "kei.h" -#include "mmi.h" -#include "poi.h" -#include "rtli.h" -#include ARCH_HEADER(globals.h) -#include ARCH_HEADER(ari.h) -#include ARCH_HEADER(hli.h) + #include ARCH_HEADER(kei.h) -#include ARCH_HEADER(mmi.h) -#include ARCH_HEADER(rtli.h) diff --git a/xtoskrnl/mm/kpool.cc b/xtoskrnl/mm/kpool.cc index f72b74e..190c7da 100644 --- a/xtoskrnl/mm/kpool.cc +++ b/xtoskrnl/mm/kpool.cc @@ -68,7 +68,7 @@ MM::KernelPool::AllocateProcessorStructures(IN ULONG CpuNumber, /* Align address to page size boundary and find a space for processor block */ Address = ROUND_UP((UINT_PTR)ProcessorStructures, MM_PAGE_SIZE); - ProcessorBlock = (PKPROCESSOR_BLOCK)((PUCHAR)Address + (2 * KERNEL_STACK_SIZE) + sizeof(ArInitialGdt)); + ProcessorBlock = (PKPROCESSOR_BLOCK)((PUCHAR)Address + (2 * KERNEL_STACK_SIZE) + (GDT_ENTRIES * sizeof(KGDTENTRY))); /* Store processor number in the processor block */ ProcessorBlock->CpuNumber = CpuNumber;