|
@@ -1907,7 +1907,7 @@ void __init xen_setup_kernel_pagetable(pgd_t *pgd, unsigned long max_pfn)
|
|
|
/* L3_k[511] -> level2_fixmap_pgt */
|
|
|
convert_pfn_mfn(level3_kernel_pgt);
|
|
|
|
|
|
- /* L3_k[511][506] -> level1_fixmap_pgt */
|
|
|
+ /* L3_k[511][508-FIXMAP_PMD_NUM ... 507] -> level1_fixmap_pgt */
|
|
|
convert_pfn_mfn(level2_fixmap_pgt);
|
|
|
|
|
|
/* We get [511][511] and have Xen's version of level2_kernel_pgt */
|
|
@@ -1952,7 +1952,11 @@ void __init xen_setup_kernel_pagetable(pgd_t *pgd, unsigned long max_pfn)
|
|
|
set_page_prot(level2_ident_pgt, PAGE_KERNEL_RO);
|
|
|
set_page_prot(level2_kernel_pgt, PAGE_KERNEL_RO);
|
|
|
set_page_prot(level2_fixmap_pgt, PAGE_KERNEL_RO);
|
|
|
- set_page_prot(level1_fixmap_pgt, PAGE_KERNEL_RO);
|
|
|
+
|
|
|
+ for (i = 0; i < FIXMAP_PMD_NUM; i++) {
|
|
|
+ set_page_prot(level1_fixmap_pgt + i * PTRS_PER_PTE,
|
|
|
+ PAGE_KERNEL_RO);
|
|
|
+ }
|
|
|
|
|
|
/* Pin down new L4 */
|
|
|
pin_pagetable_pfn(MMUEXT_PIN_L4_TABLE,
|