[ros-diffs] [tkreuzer] 44206: add 64 bit POOL_HEADER, to make pool allocations work here, too

tkreuzer at svn.reactos.org tkreuzer at svn.reactos.org
Mon Nov 16 23:03:30 CET 2009


Author: tkreuzer
Date: Mon Nov 16 23:03:30 2009
New Revision: 44206

URL: http://svn.reactos.org/svn/reactos?rev=44206&view=rev
Log:
add 64 bit POOL_HEADER, to make pool allocations work here, too

Modified:
    branches/ros-amd64-bringup/reactos/ntoskrnl/mm/ARM3/miarm.h

Modified: branches/ros-amd64-bringup/reactos/ntoskrnl/mm/ARM3/miarm.h
URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/ntoskrnl/mm/ARM3/miarm.h?rev=44206&r1=44205&r2=44206&view=diff
==============================================================================
--- branches/ros-amd64-bringup/reactos/ntoskrnl/mm/ARM3/miarm.h [iso-8859-1] (original)
+++ branches/ros-amd64-bringup/reactos/ntoskrnl/mm/ARM3/miarm.h [iso-8859-1] Mon Nov 16 23:03:30 2009
@@ -62,6 +62,7 @@
     LIST_ENTRY ListHeads[POOL_LISTS_PER_PAGE];
 } POOL_DESCRIPTOR, *PPOOL_DESCRIPTOR;
 
+#ifndef _WIN64
 typedef struct _POOL_HEADER
 {
     union
@@ -85,12 +86,37 @@
         };
     };
 } POOL_HEADER, *PPOOL_HEADER;
+#else
+typedef struct _POOL_HEADER
+{
+    union
+    {
+        struct
+        {
+            ULONG PreviousSize : 8;
+            ULONG PoolIndex : 8;
+            ULONG BlockSize : 8;
+            ULONG PoolType : 8;
+        };
+        ULONG      Ulong1;
+    };
+    ULONG PoolTag;
+    union
+    {
+        PEPROCESS* ProcessBilled;
+        struct
+        {
+             USHORT AllocatorBackTraceIndex;
+             USHORT PoolTagHash;
+        };
+    };
+} POOL_HEADER, *PPOOL_HEADER;
+#endif
 
 //
 // Everything depends on this
 //
-C_ASSERT(sizeof(POOL_HEADER) == 8);
-//C_ASSERT(sizeof(POOL_HEADER) == sizeof(LIST_ENTRY));
+C_ASSERT(sizeof(POOL_HEADER) == sizeof(LIST_ENTRY));
 
 extern ULONG ExpNumberOfPagedPools;
 extern POOL_DESCRIPTOR NonPagedPoolDescriptor;




More information about the Ros-diffs mailing list