Use KeGetCurrentPrcb instead of KeGetCurrentKPCR.
Modified: trunk/reactos/ntoskrnl/ke/device.c
Modified: trunk/reactos/ntoskrnl/ke/wait.c
Modified: trunk/reactos/ntoskrnl/ps/thread.c

Modified: trunk/reactos/ntoskrnl/ke/device.c
--- trunk/reactos/ntoskrnl/ke/device.c	2005-03-13 09:14:59 UTC (rev 14000)
+++ trunk/reactos/ntoskrnl/ke/device.c	2005-03-13 09:19:33 UTC (rev 14001)
@@ -57,17 +57,17 @@
 {
 	KIRQL OldIrql;
 	PKPROCESS Process = NULL;
-	PKPCR Pcr = NULL;
+	PKPRCB Prcb = NULL;
 	
 	/* Raise the IRQL for the TB Flush */
 	OldIrql = KeRaiseIrqlToSynchLevel();
 	
 	/* All CPUs need to have the TB flushed. */
 	if (CurrentCpuOnly == FALSE) {
-		Pcr = KeGetCurrentKPCR();
-		
+	        Prcb = KeGetCurrentPrcb();
+
 		/* How many CPUs is our caller using? */
-		Process = Pcr->PrcbData.CurrentThread->ApcState.Process;
+		Process = Prcb->CurrentThread->ApcState.Process;
 		
 		/* More then one, so send an IPI */
 		if (Process->ActiveProcessors > 1) {
@@ -83,7 +83,7 @@
 		/* Did we send an IPI? If so, wait for completion */
 		if (Process->ActiveProcessors > 1) {
 			do {
-			} while (Pcr->PrcbData.TargetSet != 0);
+			} while (Prcb->TargetSet != 0);
 		} 
 	} 
 	

Modified: trunk/reactos/ntoskrnl/ke/wait.c
--- trunk/reactos/ntoskrnl/ke/wait.c	2005-03-13 09:14:59 UTC (rev 14000)
+++ trunk/reactos/ntoskrnl/ke/wait.c	2005-03-13 09:19:33 UTC (rev 14001)
@@ -81,7 +81,7 @@
   if (!KeIsExecutingDpc() && 
       OldIrql < DISPATCH_LEVEL && 
       KeGetCurrentThread() != NULL && 
-      KeGetCurrentThread() == KeGetCurrentKPCR()->PrcbData.IdleThread)
+      KeGetCurrentThread() == KeGetCurrentPrcb()->IdleThread)
   {
     PsDispatchThreadNoLock(THREAD_STATE_READY);
     KeLowerIrql(OldIrql);

Modified: trunk/reactos/ntoskrnl/ps/thread.c
--- trunk/reactos/ntoskrnl/ps/thread.c	2005-03-13 09:14:59 UTC (rev 14000)
+++ trunk/reactos/ntoskrnl/ps/thread.c	2005-03-13 09:19:33 UTC (rev 14001)
@@ -63,11 +63,11 @@
    PKTHREAD Thread;
    Ke386SaveFlags(Flags);
    Ke386DisableInterrupts();
-   Thread = KeGetCurrentKPCR()->PrcbData.CurrentThread;
+   Thread = KeGetCurrentPrcb()->CurrentThread;
    Ke386RestoreFlags(Flags);
    return Thread;
 #else
-   return(KeGetCurrentKPCR()->PrcbData.CurrentThread);
+   return(KeGetCurrentPrcb()->CurrentThread);
 #endif
 }
 
@@ -437,7 +437,7 @@
 
 	    OldThread = CurrentThread;
 	    CurrentThread = Candidate;
-	    IdleThread = KeGetCurrentKPCR()->PrcbData.IdleThread;
+	    IdleThread = KeGetCurrentPrcb()->IdleThread;
 
 	    if (&OldThread->Tcb == IdleThread)
 	    {
@@ -464,7 +464,7 @@
 {
    KIRQL oldIrql;
 
-   if (!DoneInitYet || KeGetCurrentKPCR()->PrcbData.IdleThread == NULL)
+   if (!DoneInitYet || KeGetCurrentPrcb()->IdleThread == NULL)
      {
 	return;
      }
@@ -777,7 +777,7 @@
    FirstThread->Tcb.FreezeCount = 0;
    FirstThread->Tcb.UserAffinity = (1 << 0);   /* Set the affinity of the first thread to the boot processor */
    FirstThread->Tcb.Affinity = (1 << 0);
-   KeGetCurrentKPCR()->PrcbData.CurrentThread = (PVOID)FirstThread;
+   KeGetCurrentPrcb()->CurrentThread = (PVOID)FirstThread;
    NtClose(FirstThreadHandle);
 
    DPRINT("FirstThread %x\n",FirstThread);