Index: /trunk/include/VBox/vm.h
===================================================================
--- /trunk/include/VBox/vm.h	(revision 22885)
+++ /trunk/include/VBox/vm.h	(revision 22886)
@@ -125,5 +125,5 @@
         struct CPUMCPU      s;
 #endif
-        char                padding[4096];      /* multiple of 64 */
+        char                padding[3456];      /* multiple of 64 */
     } cpum;
 
@@ -152,5 +152,5 @@
         struct EMCPU        s;
 #endif
-        char                padding[1280];      /* multiple of 64 */
+        char                padding[1408];      /* multiple of 64 */
     } em;
 
@@ -211,5 +211,5 @@
 
     /** Align at page boundrary. */
-    uint8_t                 abReserved[HC_ARCH_BITS == 32 ? 448 : 64];
+    uint8_t                 abReserved[HC_ARCH_BITS == 32 ? 448 : 960];
 } VMCPU;
 
@@ -839,5 +839,5 @@
         struct PGM  s;
 #endif
-        uint8_t     padding[5184];      /* multiple of 64 */
+        uint8_t     padding[6080];      /* multiple of 64 */
     } pgm;
 
@@ -884,5 +884,5 @@
         struct PDM s;
 #endif
-        uint8_t     padding[1024];      /* multiple of 64 */
+        uint8_t     padding[1536];      /* multiple of 64 */
     } pdm;
 
@@ -893,5 +893,5 @@
         struct IOM s;
 #endif
-        uint8_t     padding[768];       /* multiple of 64 */
+        uint8_t     padding[832];       /* multiple of 64 */
     } iom;
 
@@ -911,5 +911,5 @@
         struct CSAM s;
 #endif
-        uint8_t     padding[1024];      /* multiple of 64 */
+        uint8_t     padding[1088];      /* multiple of 64 */
     } csam;
 
@@ -947,5 +947,5 @@
         struct SSM  s;
 #endif
-        uint8_t     padding[64];        /* multiple of 64 */
+        uint8_t     padding[128];        /* multiple of 64 */
     } ssm;
 
@@ -993,5 +993,5 @@
 
     /** Padding for aligning the cpu array on a 64 byte boundrary. */
-    uint8_t         abReserved2[8 + (HC_ARCH_BITS == 32 ? 3712 : 0)];
+    uint8_t         abReserved2[8 + (HC_ARCH_BITS == 32 ? 3712 : 2112)];
 
     /* ---- end small stuff ---- */
Index: /trunk/src/VBox/VMM/testcase/tstVMStructSize.cpp
===================================================================
--- /trunk/src/VBox/VMM/testcase/tstVMStructSize.cpp	(revision 22885)
+++ /trunk/src/VBox/VMM/testcase/tstVMStructSize.cpp	(revision 22886)
@@ -149,4 +149,5 @@
     CHECK_SIZE(X86PML4, PAGE_SIZE);
 
+    PRINT_OFFSET(VM, cpum);
     CHECK_PADDING_VM(64, cpum);
     CHECK_PADDING_VM(64, vmm);
@@ -171,4 +172,5 @@
     CHECK_PADDING_VM(8, cfgm);
 
+    PRINT_OFFSET(VMCPU, cpum);
     CHECK_PADDING_VMCPU(64, cpum);
     CHECK_PADDING_VMCPU(64, pgm);
