diff --git a/reactos/ntoskrnl/include/internal/i386/ke.h b/reactos/ntoskrnl/include/internal/i386/ke.h index d4e82d1f71a..89f78409247 100644 --- a/reactos/ntoskrnl/include/internal/i386/ke.h +++ b/reactos/ntoskrnl/include/internal/i386/ke.h @@ -61,7 +61,8 @@ VOID FASTCALL Ki386InitializeTss( IN PKTSS Tss, - IN PKIDTENTRY Idt + IN PKIDTENTRY Idt, + IN PKGDTENTRY Gdt ); VOID diff --git a/reactos/ntoskrnl/ke/i386/cpu.c b/reactos/ntoskrnl/ke/i386/cpu.c index 98425d733b7..7f87e9ec989 100644 --- a/reactos/ntoskrnl/ke/i386/cpu.c +++ b/reactos/ntoskrnl/ke/i386/cpu.c @@ -552,12 +552,13 @@ KiInitializeTSS(IN PKTSS Tss) VOID FASTCALL Ki386InitializeTss(IN PKTSS Tss, - IN PKIDTENTRY Idt) + IN PKIDTENTRY Idt, + IN PKGDTENTRY Gdt) { PKGDTENTRY TssEntry, TaskGateEntry; /* Initialize the boot TSS. */ - TssEntry = &KiBootGdt[KGDT_TSS / sizeof(KGDTENTRY)]; + TssEntry = &Gdt[KGDT_TSS / sizeof(KGDTENTRY)]; TssEntry->HighWord.Bits.Type = I386_TSS; TssEntry->HighWord.Bits.Pres = 1; TssEntry->HighWord.Bits.Dpl = 0; @@ -587,7 +588,7 @@ Ki386InitializeTss(IN PKTSS Tss, Tss->Ds = KGDT_R3_DATA | RPL_MASK; /* Setup the Double Trap TSS entry in the GDT */ - TssEntry = &KiBootGdt[KGDT_DF_TSS / sizeof(KGDTENTRY)]; + TssEntry = &Gdt[KGDT_DF_TSS / sizeof(KGDTENTRY)]; TssEntry->HighWord.Bits.Type = I386_TSS; TssEntry->HighWord.Bits.Pres = 1; TssEntry->HighWord.Bits.Dpl = 0; @@ -616,7 +617,7 @@ Ki386InitializeTss(IN PKTSS Tss, Tss->Ds = KGDT_R3_DATA | RPL_MASK; /* And its associated TSS Entry */ - TssEntry = &KiBootGdt[KGDT_NMI_TSS / sizeof(KGDTENTRY)]; + TssEntry = &Gdt[KGDT_NMI_TSS / sizeof(KGDTENTRY)]; TssEntry->HighWord.Bits.Type = I386_TSS; TssEntry->HighWord.Bits.Pres = 1; TssEntry->HighWord.Bits.Dpl = 0; diff --git a/reactos/ntoskrnl/ke/i386/kiinit.c b/reactos/ntoskrnl/ke/i386/kiinit.c index 60a8452af12..44df101b8f7 100644 --- a/reactos/ntoskrnl/ke/i386/kiinit.c +++ b/reactos/ntoskrnl/ke/i386/kiinit.c @@ -318,7 +318,7 @@ KiSystemStartup(IN PLOADER_PARAMETER_BLOCK LoaderBlock) KiGetMachineBootPointers(&Gdt, &Idt, &Pcr, &Tss); /* Setup the TSS descriptors and entries */ - Ki386InitializeTss(Tss, Idt); + Ki386InitializeTss(Tss, Idt, Gdt); /* Initialize the PCR */ RtlZeroMemory(Pcr, PAGE_SIZE);