diff options
Diffstat (limited to 'arch/x86/xen/mmu.c')
-rw-r--r-- | arch/x86/xen/mmu.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c index a8a1a3d08d4d..8906cf0e536f 100644 --- a/arch/x86/xen/mmu.c +++ b/arch/x86/xen/mmu.c | |||
@@ -1457,8 +1457,10 @@ static int xen_pgd_alloc(struct mm_struct *mm) | |||
1457 | page->private = (unsigned long)user_pgd; | 1457 | page->private = (unsigned long)user_pgd; |
1458 | 1458 | ||
1459 | if (user_pgd != NULL) { | 1459 | if (user_pgd != NULL) { |
1460 | #ifdef CONFIG_X86_VSYSCALL_EMULATION | ||
1460 | user_pgd[pgd_index(VSYSCALL_ADDR)] = | 1461 | user_pgd[pgd_index(VSYSCALL_ADDR)] = |
1461 | __pgd(__pa(level3_user_vsyscall) | _PAGE_TABLE); | 1462 | __pgd(__pa(level3_user_vsyscall) | _PAGE_TABLE); |
1463 | #endif | ||
1462 | ret = 0; | 1464 | ret = 0; |
1463 | } | 1465 | } |
1464 | 1466 | ||
@@ -2021,7 +2023,7 @@ static void xen_set_fixmap(unsigned idx, phys_addr_t phys, pgprot_t prot) | |||
2021 | # ifdef CONFIG_HIGHMEM | 2023 | # ifdef CONFIG_HIGHMEM |
2022 | case FIX_KMAP_BEGIN ... FIX_KMAP_END: | 2024 | case FIX_KMAP_BEGIN ... FIX_KMAP_END: |
2023 | # endif | 2025 | # endif |
2024 | #else | 2026 | #elif defined(CONFIG_X86_VSYSCALL_EMULATION) |
2025 | case VSYSCALL_PAGE: | 2027 | case VSYSCALL_PAGE: |
2026 | #endif | 2028 | #endif |
2027 | case FIX_TEXT_POKE0: | 2029 | case FIX_TEXT_POKE0: |
@@ -2060,7 +2062,7 @@ static void xen_set_fixmap(unsigned idx, phys_addr_t phys, pgprot_t prot) | |||
2060 | 2062 | ||
2061 | __native_set_fixmap(idx, pte); | 2063 | __native_set_fixmap(idx, pte); |
2062 | 2064 | ||
2063 | #ifdef CONFIG_X86_64 | 2065 | #ifdef CONFIG_X86_VSYSCALL_EMULATION |
2064 | /* Replicate changes to map the vsyscall page into the user | 2066 | /* Replicate changes to map the vsyscall page into the user |
2065 | pagetable vsyscall mapping. */ | 2067 | pagetable vsyscall mapping. */ |
2066 | if (idx == VSYSCALL_PAGE) { | 2068 | if (idx == VSYSCALL_PAGE) { |