Index: trunk/src/VBox/VMM/VMMR3/PGM.cpp
===================================================================
--- trunk/src/VBox/VMM/VMMR3/PGM.cpp	(revision 36626)
+++ trunk/src/VBox/VMM/VMMR3/PGM.cpp	(revision 36627)
@@ -2276,6 +2276,7 @@
         for (uint32_t iPage = 0; iPage < pDynMap->cPages; iPage++)
         {
-            paPages[iPage].pvPage  += offDelta;
-            paPages[iPage].uPte.pv += offDelta;
+            paPages[iPage].pvPage       += offDelta;
+            paPages[iPage].uPte.pLegacy += offDelta;
+            paPages[iPage].uPte.pPae    += offDelta;
         }
     }
Index: trunk/src/VBox/VMM/VMMRZ/PGMRZDynMap.cpp
===================================================================
--- trunk/src/VBox/VMM/VMMRZ/PGMRZDynMap.cpp	(revision 36626)
+++ trunk/src/VBox/VMM/VMMRZ/PGMRZDynMap.cpp	(revision 36627)
@@ -206,5 +206,4 @@
     /** The number of references. */
     int32_t volatile            cRefs;
-#ifndef IN_RC
     /** PTE pointer union. */
     union PGMR0DYNMAPENTRY_PPTE
@@ -217,18 +216,6 @@
         void                   *pv;
     } uPte;
-#else
-    /** PTE pointers. */
-    struct PGMR0DYNMAPENTRY_PPTE
-    {
-        /** PTE pointer, 32-bit legacy version. */
-        PX86PTE                 pLegacy;
-        /** PTE pointer, PAE version. */
-        PX86PTEPAE              pPae;
-    } uPte;
-#endif
-# ifndef IN_RC
     /** CPUs that haven't invalidated this entry after it's last update. */
     RTCPUSET                    PendingSet;
-# endif
 } PGMR0DYNMAPENTRY;
 /** Pointer a mapping cache entry for the ring-0.
@@ -251,16 +238,12 @@
     /** The usual magic number / eye catcher (PGMRZDYNMAP_MAGIC). */
     uint32_t                    u32Magic;
-# ifndef IN_RC
     /** Spinlock serializing the normal operation of the cache. */
     RTSPINLOCK                  hSpinlock;
-# endif
     /** Array for tracking and managing the pages.  */
     PPGMR0DYNMAPENTRY           paPages;
     /** The cache size given as a number of pages. */
     uint32_t                    cPages;
-# ifndef IN_RC
     /** Whether it's 32-bit legacy or PAE/AMD64 paging mode. */
     bool                        fLegacyMode;
-# endif
     /** The current load.
      * This does not include guard pages. */
@@ -269,13 +252,10 @@
      * This is maintained to trigger the adding of more mapping space. */
     uint32_t                    cMaxLoad;
-# ifndef IN_RC
     /** Initialization / termination lock. */
     RTSEMFASTMUTEX              hInitLock;
-# endif
     /** The number of guard pages. */
     uint32_t                    cGuardPages;
     /** The number of users (protected by hInitLock). */
     uint32_t                    cUsers;
-# ifndef IN_RC
     /** Array containing a copy of the original page tables.
      * The entries are either X86PTE or X86PTEPAE according to fLegacyMode. */
@@ -285,5 +265,4 @@
     /** The paging mode. */
     SUPPAGINGMODE               enmPgMode;
-# endif
 } PGMR0DYNMAP;
 
@@ -1610,5 +1589,8 @@
     PPGMRZDYNMAPENTRY   paPages     = pThis->paPages;
     uint32_t            iPage       = pThis->cPages;
+
+#ifndef IN_RC
     if (pThis->fLegacyMode)
+#endif
     {
 #ifdef IN_RING0
@@ -1650,5 +1632,7 @@
         }
     }
+#ifndef IN_RC
     else
+#endif
     {
 #ifdef IN_RING0
Index: trunk/src/VBox/VMM/include/PGMInternal.h
===================================================================
--- trunk/src/VBox/VMM/include/PGMInternal.h	(revision 36626)
+++ trunk/src/VBox/VMM/include/PGMInternal.h	(revision 36627)
@@ -1677,5 +1677,5 @@
     int32_t volatile            cRefs;
     /** PTE pointer union. */
-    union PGMRCDYNMAPENTRY_PPTE
+    struct PGMRCDYNMAPENTRY_PPTE
     {
         /** PTE pointer, 32-bit legacy version. */
@@ -1683,6 +1683,4 @@
         /** PTE pointer, PAE version. */
         RCPTRTYPE(PX86PTEPAE)   pPae;
-        /** PTE pointer, the void version. */
-        RTRCPTR                 pv;
     } uPte;
     /** Alignment padding. */
@@ -1712,6 +1710,4 @@
     /** The cache size given as a number of pages. */
     uint32_t                        cPages;
-    /** Whether it's 32-bit legacy or PAE/AMD64 paging mode. */
-    bool                            fLegacyMode;
     /** The current load.
      * This does not include guard pages. */
Index: trunk/src/VBox/VMM/testcase/tstVMStructRC.cpp
===================================================================
--- trunk/src/VBox/VMM/testcase/tstVMStructRC.cpp	(revision 36626)
+++ trunk/src/VBox/VMM/testcase/tstVMStructRC.cpp	(revision 36627)
@@ -798,5 +798,4 @@
     GEN_CHECK_OFF(PGMRCDYNMAP, paPages);
     GEN_CHECK_OFF(PGMRCDYNMAP, cPages);
-    GEN_CHECK_OFF(PGMRCDYNMAP, fLegacyMode);
     GEN_CHECK_OFF(PGMRCDYNMAP, cLoad);
     GEN_CHECK_OFF(PGMRCDYNMAP, cMaxLoad);
