- Update PPC definitions.
- Add Art to contributors.
Modified: trunk/reactos/include/ndk/powerpc/ketypes.h
Modified: trunk/reactos/include/ndk/powerpc/mmtypes.h
Modified: trunk/reactos/include/ndk/readme.txt

Modified: trunk/reactos/include/ndk/powerpc/ketypes.h
--- trunk/reactos/include/ndk/powerpc/ketypes.h	2005-12-04 16:42:36 UTC (rev 19876)
+++ trunk/reactos/include/ndk/powerpc/ketypes.h	2005-12-04 17:09:48 UTC (rev 19877)
@@ -37,32 +37,75 @@
 //
 typedef struct _KTRAP_FRAME
 {
-	ULONG R[32];
-	ULONG SRR0, SRR1;
-	ULONG LR, CTR;
+    PVOID TrapFrame;
+    UCHAR OldIrql;
+    UCHAR PreviousMode;
+    UCHAR SavedApcStateIndex;
+    UCHAR SavedKernelApcDisable;
+    UCHAR ExceptionRecord[ROUND_UP(sizeof(EXCEPTION_RECORD), ULONGLONG];
+    ULONG FILL2;
+    ULONG Gpr0;
+    ULONG Gpr1;
+    ULONG Gpr2;
+    ULONG Gpr3;
+    ULONG Gpr4;
+    ULONG Gpr5;
+    ULONG Gpr6;
+    ULONG Gpr7;
+    ULONG Gpr8;
+    ULONG Gpr9;
+    ULONG Gpr10;
+    ULONG Gpr11;
+    ULONG Gpr12;
+    DOUBLE Fpr0;
+    DOUBLE Fpr1;
+    DOUBLE Fpr2;
+    DOUBLE Fpr3;
+    DOUBLE Fpr4;
+    DOUBLE Fpr5;
+    DOUBLE Fpr6;
+    DOUBLE Fpr7;
+    DOUBLE Fpr8;
+    DOUBLE Fpr9;
+    DOUBLE Fpr10;
+    DOUBLE Fpr11;
+    DOUBLE Fpr12;
+    DOUBLE Fpr13;
+    DOUBLE Fpscr;
+    ULONG Cr;
+    ULONG Xer;
+    ULONG Msr;
+    ULONG Iar;
+    ULONG Lr;
+    ULONG Ctr;
+    ULONG Dr0;
+    ULONG Dr1;
+    ULONG Dr2;
+    ULONG Dr3;
+    ULONG Dr4;
+    ULONG Dr5;
+    ULONG Dr6;
+    ULONG Dr7;
 } KTRAP_FRAME, *PKTRAP_FRAME;
 
 //
 // Page Table Entry Definition
 //
-// I'll use the same table format
-//
-typedef struct _SOFTWARE_PTE_PPC
+typedef struct _HARDWARE_PTE_PPC
 {
-    ULONG Valid             : 1;
-    ULONG Write             : 1;
-    ULONG Owner             : 1;
-    ULONG WriteThrough      : 1;
-    ULONG CacheDisable      : 1;
-    ULONG Accessed          : 1;
-    ULONG Dirty             : 1;
-    ULONG LargePage         : 1;
-    ULONG Global            : 1;
-    ULONG CopyOnWrite       : 1;
-    ULONG Prototype         : 1;
-    ULONG reserved          : 1;
-    ULONG PageFrameNumber   : 20;
-} SOFTWARE_PTE_X86, *PSOFTWARE_PTE_PPC;
+    ULONG Dirty:2;
+    ULONG Valid:1;
+    ULONG GuardedStorage:1;
+    ULONG MemoryCoherence:1;
+    ULONG CacheDisable:1;
+    ULONG WriteThrough:1;
+    ULONG Change:1;
+    ULONG Reference:1;
+    ULONG Write:1;
+    ULONG CopyOnWrite:1;
+    ULONG rsvd1:1;
+    ULONG PageFrameNumber:20;
+} HARDWARE_PTE_PPC, *PHARDWARE_PTE_PPC;
 
 typedef struct _DESCRIPTOR
 {
@@ -76,9 +119,50 @@
 //
 typedef struct _KSPECIAL_REGISTERS
 {
-	ULONG MSR, SDR0, SDR1;
-	ULONG BATU[4], BATL[4];
-	ULONG SR[8];
+    ULONG KernelDr0;
+    ULONG KernelDr1;
+    ULONG KernelDr2;
+    ULONG KernelDr3;
+    ULONG KernelDr4;
+    ULONG KernelDr5;
+    ULONG KernelDr6;
+    ULONG KernelDr7;
+    ULONG Sprg0;
+    ULONG Sprg1;
+    ULONG Sr0;
+    ULONG Sr1;
+    ULONG Sr2;
+    ULONG Sr3;
+    ULONG Sr4;
+    ULONG Sr5;
+    ULONG Sr6;
+    ULONG Sr7;
+    ULONG Sr8;
+    ULONG Sr9;
+    ULONG Sr10;
+    ULONG Sr11;
+    ULONG Sr12;
+    ULONG Sr13;
+    ULONG Sr14;
+    ULONG Sr15;
+    ULONG DBAT0L;
+    ULONG DBAT0U;
+    ULONG DBAT1L;
+    ULONG DBAT1U;
+    ULONG DBAT2L;
+    ULONG DBAT2U;
+    ULONG DBAT3L;
+    ULONG DBAT3U;
+    ULONG IBAT0L;
+    ULONG IBAT0U;
+    ULONG IBAT1L;
+    ULONG IBAT1U;
+    ULONG IBAT2L;
+    ULONG IBAT2U;
+    ULONG IBAT3L;
+    ULONG IBAT3U;
+    ULONG Sdr1;
+    ULONG Reserved[9];
 } KSPECIAL_REGISTERS, *PKSPECIAL_REGISTERS;
 
 //
@@ -229,73 +313,141 @@
 //
 typedef struct _KIPCR
 {
-    union
-    {
-        NT_TIB NtTib;
-        struct 
-        {
-            struct _EXCEPTION_REGISTRATION_RECORD *Used_ExceptionList;
-            PVOID Used_StackBase;
-            PVOID PerfGlobalGroupMask;
-            PVOID TssCopy;
-            ULONG ContextSwitches;
-            KAFFINITY SetMemberCopy;
-            PVOID Used_Self;
-        };
-    };
-    struct _KPCR *Self;          /* 1C */
-    struct _KPRCB *Prcb;         /* 20 */
-    KIRQL Irql;                  /* 24 */
-    ULONG IRR;                   /* 28 */
-    ULONG IrrActive;             /* 2C */
-    ULONG IDR;                   /* 30 */
-    PVOID KdVersionBlock;        /* 34 */
-    struct _KTSS *TSS;           /* 40 */
-    USHORT MajorVersion;         /* 44 */
-    USHORT MinorVersion;         /* 46 */
-    KAFFINITY SetMember;         /* 48 */
-    ULONG StallScaleFactor;      /* 4C */
-    UCHAR SparedUnused;          /* 50 */
-    UCHAR Number;                /* 51 */
-    UCHAR Reserved;              /* 52 */
-    UCHAR L2CacheAssociativity;  /* 53 */
-    ULONG VdmAlert;              /* 54 */
-    ULONG KernelReserved[14];    /* 58 */
-    ULONG L2CacheSize;           /* 90 */
-    ULONG HalReserved[16];       /* 94 */
-    ULONG InterruptMode;         /* D4 */
-    UCHAR KernelReserved2[0x48]; /* D8 */
-    KPRCB PrcbData;              /* 120 */
+    USHORT MinorVersion;
+    USHORT MajorVersion;
+    PKINTERRUPT_ROUTINE InterruptRoutine[MAXIMUM_VECTOR];
+    ULONG PcrPage2;
+    ULONG Kseg0Top;
+    ULONG Spare7[30];
+    ULONG FirstLevelDcacheSize;
+    ULONG FirstLevelDcacheFillSize;
+    ULONG FirstLevelIcacheSize;
+    ULONG FirstLevelIcacheFillSize;
+    ULONG SecondLevelDcacheSize;
+    ULONG SecondLevelDcacheFillSize;
+    ULONG SecondLevelIcacheSize;
+    ULONG SecondLevelIcacheFillSize;
+    struct _KPRCB *Prcb;
+    PVOID Teb;
+    ULONG DcacheAlignment;
+    ULONG DcacheFillSize;
+    ULONG IcacheAlignment;
+    ULONG IcacheFillSize;
+    ULONG ProcessorVersion;
+    ULONG ProcessorRevision;
+    ULONG ProfileInterval;
+    ULONG ProfileCount;
+    ULONG StallExecutionCount;
+    ULONG StallScaleFactor;
+    ULONG Spare;
+    union
+    {
+        ULONG CachePolicy;
+        struct
+        {
+            UCHAR IcacheMode;
+            UCHAR DcacheMode;
+            USHORT ModeSpare;
+        };
+    };
+    UCHAR IrqlMask[32];
+    UCHAR IrqlTable[9];
+    UCHAR CurrentIrql;
+    CCHAR Number;
+    KAFFINITY SetMember;
+    ULONG ReservedVectors;
+    struct _KTHREAD *CurrentThread;
+    ULONG AlignedCachePolicy;
+    union
+    {
+        ULONG SoftwareInterrupt;
+        struct
+        {
+            UCHAR ApcInterrupt;
+            UCHAR DispatchInterrupt;
+            UCHAR Spare4;
+            UCHAR Spare5;
+        };
+    };
+    KAFFINITY NotMember;
+    ULONG SystemReserved[16];
+    ULONG HalReserved[16];
+    ULONG FirstLevelActive;
+    ULONG SystemServiceDispatchStart;
+    ULONG SystemServiceDispatchEnd;
+    ULONG InterruptStack;
+    ULONG QuantumEnd;
+    PVOID InitialStack;
+    PVOID PanicStack;
+    ULONG BadVaddr;
+    PVOID StackLimit;
+    PVOID SavedStackLimit;
+    ULONG SavedV0;
+    ULONG SavedV1;
+    UCHAR DebugActive;
+    UCHAR Spare6[3];
+    ULONG GprSave[6];
+    ULONG SiR0;
+    ULONG SiR2;
+    ULONG SiR3;
+    ULONG SiR4;
+    ULONG SiR5;
+    ULONG Spare0;
+    ULONG Spare8;
+    ULONG PgDirRa;
+    ULONG OnInterruptStack;
+    ULONG SavedInitialStack;
 } KIPCR, *PKIPCR;
 #pragma pack(pop)
 
 //
 // TSS Definition
 //
-typedef struct _KiIoAccessMap
-{
-    UCHAR DirectionMap[32];
-    UCHAR IoMap[8196];
-} KIIO_ACCESS_MAP;
+typedef struct _KTSS, KTSS, *PKTSS;
 
-#include <pshpack1.h>
-typedef struct _KTSS
-{
-    USHORT Backlink;
-    USHORT Reserved0;
-
-    KTRAP_FRAME Registers;
-
-    KIIO_ACCESS_MAP IoMaps[1];
-    UCHAR IntDirectionMap[32];
-} KTSS, *PKTSS;
-#include <poppack.h>
-
 //
 // PowerPC Exception Frame
 //
-typedef struct _KEXCEPTION_FRAME {
-	
+typedef struct _KEXCEPTION_FRAME
+{
+    ULONG Fill1;
+    ULONG Gpr13;
+    ULONG Gpr14;
+    ULONG Gpr15;
+    ULONG Gpr16;
+    ULONG Gpr17;
+    ULONG Gpr18;
+    ULONG Gpr19;
+    ULONG Gpr20;
+    ULONG Gpr21;
+    ULONG Gpr22;
+    ULONG Gpr23;
+    ULONG Gpr24;
+    ULONG Gpr25;
+    ULONG Gpr26;
+    ULONG Gpr27;
+    ULONG Gpr28;
+    ULONG Gpr29;
+    ULONG Gpr30;
+    ULONG Gpr31;
+    DOUBLE Fpr14;
+    DOUBLE Fpr15;
+    DOUBLE Fpr16;
+    DOUBLE Fpr17;
+    DOUBLE Fpr18;
+    DOUBLE Fpr19;
+    DOUBLE Fpr20;
+    DOUBLE Fpr21;
+    DOUBLE Fpr22;
+    DOUBLE Fpr23;
+    DOUBLE Fpr24;
+    DOUBLE Fpr25;
+    DOUBLE Fpr26;
+    DOUBLE Fpr27;
+    DOUBLE Fpr28;
+    DOUBLE Fpr29;
+    DOUBLE Fpr30;
+    DOUBLE Fpr31;
 } KEXCEPTION_FRAME, *PKEXCEPTION_FRAME;
 
 #endif

Modified: trunk/reactos/include/ndk/powerpc/mmtypes.h
--- trunk/reactos/include/ndk/powerpc/mmtypes.h	2005-12-04 16:42:36 UTC (rev 19876)
+++ trunk/reactos/include/ndk/powerpc/mmtypes.h	2005-12-04 17:09:48 UTC (rev 19877)
@@ -1,7 +1,6 @@
 /*++ NDK Version: 0095
 
 Copyright (c) Alex Ionescu.  All rights reserved.
-Modified for PowerPC by Art Yerkes
 
 Header Name:
 
@@ -13,7 +12,7 @@
 
 Author:
 
-    Alex Ionescu (alex.ionescu@reactos.com)   06-Oct-2004
+    Art Yerkes (ayerkes@speakeasy.net)   04-Dec-2005
 
 --*/
 

Modified: trunk/reactos/include/ndk/readme.txt
--- trunk/reactos/include/ndk/readme.txt	2005-12-04 16:42:36 UTC (rev 19876)
+++ trunk/reactos/include/ndk/readme.txt	2005-12-04 17:09:48 UTC (rev 19877)
@@ -90,6 +90,7 @@
 
 Additionally, the following people contributed to the NDK:
 
+- Art Yerkes
 - Eric Kohl
 - Filip Navara
 - Steven Edwards