Set CR3 field in TSS to ensure correct page table context on task switches
All checks were successful
Builds / ExectOS (i686, release) (push) Successful in 43s
Builds / ExectOS (amd64, release) (push) Successful in 45s
Builds / ExectOS (amd64, debug) (push) Successful in 46s
Builds / ExectOS (i686, debug) (push) Successful in 45s

This commit is contained in:
2026-03-30 14:56:41 +02:00
parent 489ef8a514
commit 96df5a80b8

View File

@@ -472,7 +472,8 @@ AR::ProcSup::InitializeTss(IN PKPROCESSOR_BLOCK ProcessorBlock,
ProcessorBlock->TssBase->Esp0 = (ULONG_PTR)KernelBootStack;
ProcessorBlock->TssBase->Flags = 0;
/* Set LDT and SS */
/* Set CR3, LDT and SS */
ProcessorBlock->TssBase->CR3 = CpuFunc::ReadControlRegister(3);
ProcessorBlock->TssBase->LDT = KGDT_R0_LDT;
ProcessorBlock->TssBase->Ss0 = KGDT_R0_DATA;