Set CR3 field in TSS to ensure correct page table context on task switches
This commit is contained in:
@@ -472,7 +472,8 @@ AR::ProcSup::InitializeTss(IN PKPROCESSOR_BLOCK ProcessorBlock,
|
|||||||
ProcessorBlock->TssBase->Esp0 = (ULONG_PTR)KernelBootStack;
|
ProcessorBlock->TssBase->Esp0 = (ULONG_PTR)KernelBootStack;
|
||||||
ProcessorBlock->TssBase->Flags = 0;
|
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->LDT = KGDT_R0_LDT;
|
||||||
ProcessorBlock->TssBase->Ss0 = KGDT_R0_DATA;
|
ProcessorBlock->TssBase->Ss0 = KGDT_R0_DATA;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user