- Don't define the SizePcr entry to the size of the PCR PLUS the PRCB SIZE! The PRCB...
authorStefan Ginsberg <stefanginsberg@gmail.com>
Sat, 31 Oct 2009 13:46:16 +0000 (13:46 +0000)
committerStefan Ginsberg <stefanginsberg@gmail.com>
Sat, 31 Oct 2009 13:46:16 +0000 (13:46 +0000)
- Likewise, the OffsetPrcbProcStateSpecialReg entry defines the offset to the special registers in the PRCB, not a PCR + PRCB offset + special registers offset! This can only have worked on x86 and AMD64 if WinDbg uses a hard coded offset, but define it correctly anyway.
- The OffsetPcrSelfPcr and OffsetPcrContainedPrcb entries are not applicable for ARM, so define them to 0 for it.

svn path=/trunk/; revision=43871

reactos/ntoskrnl/kd64/kddata.c

index 512725d..4228c81 100644 (file)
@@ -36,9 +36,9 @@ VOID NTAPI RtlpBreakWithStatusInstruction(VOID);
 
 #elif defined(_M_ARM)
 
-//#define KPCR_SELF_OFFSET
+#define KPCR_SELF_OFFSET               0
 #define KPCR_CURRENT_PRCB_OFFSET       FIELD_OFFSET(KPCR, Prcb)
-//#define KPCR_CONTAINED_PRCB_OFFSET
+#define KPCR_CONTAINED_PRCB_OFFSET     0
 
 #else
 #error Unsupported Architecture
@@ -485,7 +485,7 @@ KDDEBUGGER_DATA64 KdDebuggerDataBlock =
     {(ULONG_PTR)KdPrintDefaultCircularBuffer},
     {(ULONG_PTR)&KdPrintBufferSize},
     {(ULONG_PTR)&KeLoaderBlock},
-    sizeof(KPCR) + sizeof(KPRCB),
+    sizeof(KPCR),
     KPCR_SELF_OFFSET,
     KPCR_CURRENT_PRCB_OFFSET,
     KPCR_CONTAINED_PRCB_OFFSET,
@@ -494,7 +494,6 @@ KDDEBUGGER_DATA64 KdDebuggerDataBlock =
     0,
     0,
     0,
-    KPCR_CONTAINED_PRCB_OFFSET +
     FIELD_OFFSET(KPRCB, ProcessorState.SpecialRegisters),
 #if defined(_M_IX86)
     //