From 17c45a4cd26832c6f0a99c66ab52afae73f47b4d Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Mon, 25 Aug 2008 01:30:57 +0000 Subject: [PATCH] Move some Pcr init code into KiInitializePcr, use __sldt instead of Ke386SetLocaldescriptorTable, enable KdInitSystem svn path=/branches/ros-amd64-bringup/; revision=35622 --- reactos/ntoskrnl/ke/amd64/kiinit.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/reactos/ntoskrnl/ke/amd64/kiinit.c b/reactos/ntoskrnl/ke/amd64/kiinit.c index 0e4a27765ca..d480a27b68b 100644 --- a/reactos/ntoskrnl/ke/amd64/kiinit.c +++ b/reactos/ntoskrnl/ke/amd64/kiinit.c @@ -378,6 +378,10 @@ KiInitializePcr(IN ULONG ProcessorNumber, /* Setup the processor set */ Pcr->Prcb.MultiThreadProcessorSet = Pcr->Prcb.SetMember; + + /* Clear DR6/7 to cleanup bootloader debugging */ + Pcr->Prcb.ProcessorState.SpecialRegisters.KernelDr6 = 0; + Pcr->Prcb.ProcessorState.SpecialRegisters.KernelDr7 = 0; } VOID @@ -701,10 +705,6 @@ FrLdrDbgPrint("Gdt = %p, Idt = %p, Pcr = %p, Tss = %p\n", Gdt, Idt, Pcr, Tss); /* Set us as the current process */ InitialThread->ApcState.Process = &KiInitialProcess.Pcb; - /* Clear DR6/7 to cleanup bootloader debugging */ - Pcr->Prcb.ProcessorState.SpecialRegisters.KernelDr6 = 0; - Pcr->Prcb.ProcessorState.SpecialRegisters.KernelDr7 = 0; - /* Setup the IDT */ KeInitExceptions(); @@ -714,7 +714,7 @@ FrLdrDbgPrint("Gdt = %p, Idt = %p, Pcr = %p, Tss = %p\n", Gdt, Idt, Pcr, Tss); // Ke386SetFs(KGDT_32_R3_TEB | RPL_MASK); /* LDT is unused */ - Ke386SetLocalDescriptorTable(0); + __sldt(0); /* Save NMI and double fault traps */ // RtlCopyMemory(&NmiEntry, &Idt[2], sizeof(KIDTENTRY)); @@ -753,7 +753,7 @@ FrLdrDbgPrint("Gdt = %p, Idt = %p, Pcr = %p, Tss = %p\n", Gdt, Idt, Pcr, Tss); if (Cpu == 0) { /* Initialize debugging system */ -// KdInitSystem(0, KeLoaderBlock); + KdInitSystem(0, KeLoaderBlock); /* Check for break-in */ // if (KdPollBreakIn()) DbgBreakPointWithStatus(1);