]> xenbits.xensource.com Git - xtf.git/commitdiff
Create aliases of the live L1 and L2 pagetables
authorAndrew Cooper <andrew.cooper3@citrix.com>
Sun, 5 Jun 2016 17:18:35 +0000 (18:18 +0100)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Tue, 12 Jul 2016 09:51:17 +0000 (10:51 +0100)
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
arch/x86/hvm/pagetables.S
include/arch/x86/page.h

index b1a2183e2135f9bb8d8af530fad76b307494285d..a0d5431c31c0dd804aff01e9756c23a444b181a0 100644 (file)
@@ -76,6 +76,18 @@ PAGETABLE_START(pae32_l3_identmap)
         .endr
 PAGETABLE_END(pae32_l3_identmap)
 
+
+        /* Aliases of the live tables (PAE or PSE as appropriate). */
+#if CONFIG_PAGING_LEVELS >= 3
+        .set l1_identmap, pae_l1_identmap
+        .set l2_identmap, pae_l2_identmap
+#else
+        .set l1_identmap, pse_l1_identmap
+        .set l2_identmap, pse_l2_identmap
+#endif
+        .global l1_identmap
+        .global l2_identmap
+
 /*
  * Local variables:
  * tab-width: 8
index 117e320f340d9751e9114ea074adbfeeb405fea0..95052c83ba23e80b57d45e5c8d8f448d1e94f2d2 100644 (file)
@@ -143,14 +143,22 @@ static inline paddr_t pte_to_paddr(intpte_t pte)
 
 #ifdef CONFIG_HVM
 
-extern uint64_t pae_l1_identmap[PAE_L1_PT_ENTRIES];
-extern uint64_t pae_l2_identmap[4 * PAE_L2_PT_ENTRIES];
-extern uint64_t pae_l3_identmap[PAE_L3_PT_ENTRIES];
-extern uint64_t pae_l4_identmap[PAE_L4_PT_ENTRIES];
-extern uint64_t pae32_l3_identmap[PAE32_L3_ENTRIES];
-
-extern uint32_t pse_l1_identmap[PSE_L1_PT_ENTRIES];
-extern uint32_t pse_l2_identmap[PSE_L2_PT_ENTRIES];
+extern pae_intpte_t pae_l1_identmap[PAE_L1_PT_ENTRIES];
+extern pae_intpte_t pae_l2_identmap[4 * PAE_L2_PT_ENTRIES];
+extern pae_intpte_t pae_l3_identmap[PAE_L3_PT_ENTRIES];
+extern pae_intpte_t pae_l4_identmap[PAE_L4_PT_ENTRIES];
+extern pae_intpte_t pae32_l3_identmap[PAE32_L3_ENTRIES];
+
+extern pse_intpte_t pse_l1_identmap[PSE_L1_PT_ENTRIES];
+extern pse_intpte_t pse_l2_identmap[PSE_L2_PT_ENTRIES];
+
+/* Aliases of the live tables (PAE or PSE as appropriate). */
+extern intpte_t l1_identmap[L1_PT_ENTRIES];
+#if CONFIG_PAGING_LEVELS >= 3
+extern intpte_t l2_identmap[4 *L2_PT_ENTRIES];
+#else
+extern intpte_t l2_identmap[L2_PT_ENTRIES];
+#endif
 
 #endif /* CONFIG_HVM */