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);