[ros-diffs] [tkreuzer] 35622: Move some Pcr init code into KiInitializePcr, use __sldt instead of Ke386SetLocaldescriptorTable, enable KdInitSystem

tkreuzer at svn.reactos.org tkreuzer at svn.reactos.org
Mon Aug 25 03:30:58 CEST 2008


Author: tkreuzer
Date: Sun Aug 24 20:30:57 2008
New Revision: 35622

URL: http://svn.reactos.org/svn/reactos?rev=35622&view=rev
Log:
Move some Pcr init code into KiInitializePcr, use __sldt instead of Ke386SetLocaldescriptorTable, enable KdInitSystem

Modified:
    branches/ros-amd64-bringup/reactos/ntoskrnl/ke/amd64/kiinit.c

Modified: branches/ros-amd64-bringup/reactos/ntoskrnl/ke/amd64/kiinit.c
URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/ntoskrnl/ke/amd64/kiinit.c?rev=35622&r1=35621&r2=35622&view=diff
==============================================================================
--- branches/ros-amd64-bringup/reactos/ntoskrnl/ke/amd64/kiinit.c [iso-8859-1] (original)
+++ branches/ros-amd64-bringup/reactos/ntoskrnl/ke/amd64/kiinit.c [iso-8859-1] Sun Aug 24 20:30:57 2008
@@ -378,6 +378,10 @@
 
     /* 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 @@
         /* 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 @@
 //        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 @@
     if (Cpu == 0)
     {
         /* Initialize debugging system */
-//        KdInitSystem(0, KeLoaderBlock);
+        KdInitSystem(0, KeLoaderBlock);
 
         /* Check for break-in */
 //        if (KdPollBreakIn()) DbgBreakPointWithStatus(1);



More information about the Ros-diffs mailing list