Correct kernel stack base calculation for downward growing stacks
This commit is contained in:
@@ -159,9 +159,9 @@ AR::ProcSup::InitializeProcessor(IN PVOID ProcessorStructures)
|
|||||||
Gdt = InitialGdt;
|
Gdt = InitialGdt;
|
||||||
Idt = InitialIdt;
|
Idt = InitialIdt;
|
||||||
Tss = &InitialTss;
|
Tss = &InitialTss;
|
||||||
KernelBootStack = &BootStack;
|
KernelBootStack = (PVOID)((ULONG_PTR)&BootStack + KERNEL_STACK_SIZE);
|
||||||
KernelFaultStack = &FaultStack;
|
KernelFaultStack = (PVOID)((ULONG_PTR)&FaultStack + KERNEL_STACK_SIZE);
|
||||||
KernelNmiStack = &NmiStack;
|
KernelNmiStack = (PVOID)((ULONG_PTR)&NmiStack + KERNEL_STACK_SIZE);
|
||||||
ProcessorBlock = &InitialProcessorBlock;
|
ProcessorBlock = &InitialProcessorBlock;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -510,7 +510,6 @@ AR::ProcSup::InitializeTss(IN PKPROCESSOR_BLOCK ProcessorBlock,
|
|||||||
ProcessorBlock->TssBase->Ist[KIDT_IST_PANIC] = (ULONG_PTR)KernelFaultStack;
|
ProcessorBlock->TssBase->Ist[KIDT_IST_PANIC] = (ULONG_PTR)KernelFaultStack;
|
||||||
ProcessorBlock->TssBase->Ist[KIDT_IST_MCA] = (ULONG_PTR)KernelFaultStack;
|
ProcessorBlock->TssBase->Ist[KIDT_IST_MCA] = (ULONG_PTR)KernelFaultStack;
|
||||||
ProcessorBlock->TssBase->Ist[KIDT_IST_NMI] = (ULONG_PTR)KernelNmiStack;
|
ProcessorBlock->TssBase->Ist[KIDT_IST_NMI] = (ULONG_PTR)KernelNmiStack;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -154,9 +154,9 @@ AR::ProcSup::InitializeProcessor(IN PVOID ProcessorStructures)
|
|||||||
Gdt = InitialGdt;
|
Gdt = InitialGdt;
|
||||||
Idt = InitialIdt;
|
Idt = InitialIdt;
|
||||||
Tss = &InitialTss;
|
Tss = &InitialTss;
|
||||||
KernelBootStack = &BootStack;
|
KernelBootStack = (PVOID)((ULONG_PTR)&BootStack + KERNEL_STACK_SIZE);
|
||||||
KernelFaultStack = &FaultStack;
|
KernelFaultStack = (PVOID)((ULONG_PTR)&FaultStack + KERNEL_STACK_SIZE);
|
||||||
KernelNmiStack = &NmiStack;
|
KernelNmiStack = (PVOID)((ULONG_PTR)&NmiStack + KERNEL_STACK_SIZE);
|
||||||
ProcessorBlock = &InitialProcessorBlock;
|
ProcessorBlock = &InitialProcessorBlock;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user