aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/xen/mmu.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-12-10 17:24:20 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2014-12-10 17:24:20 -0500
commit3100e448e7d74489a96cb7b45d88fe6962774eaa (patch)
tree53e46a702bd191ca43639b560d2bb1d3b0ad18c8 /arch/x86/xen/mmu.c
parentc9f861c77269bc9950c16c6404a9476062241671 (diff)
parent26893107aa717cd11010f0c278d02535defa1ac9 (diff)
Merge branch 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 vdso updates from Ingo Molnar: "Various vDSO updates from Andy Lutomirski, mostly cleanups and reorganization to improve maintainability, but also some micro-optimizations and robustization changes" * 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86_64/vsyscall: Restore orig_ax after vsyscall seccomp x86_64: Add a comment explaining the TASK_SIZE_MAX guard page x86_64,vsyscall: Make vsyscall emulation configurable x86_64, vsyscall: Rewrite comment and clean up headers in vsyscall code x86_64, vsyscall: Turn vsyscalls all the way off when vsyscall==none x86,vdso: Use LSL unconditionally for vgetcpu x86: vdso: Fix build with older gcc x86_64/vdso: Clean up vgetcpu init and merge the vdso initcalls x86_64/vdso: Remove jiffies from the vvar page x86/vdso: Make the PER_CPU segment 32 bits x86/vdso: Make the PER_CPU segment start out accessed x86/vdso: Change the PER_CPU segment to use struct desc_struct x86_64/vdso: Move getcpu code from vsyscall_64.c to vdso/vma.c x86_64/vsyscall: Move all of the gate_area code to vsyscall_64.c
Diffstat (limited to 'arch/x86/xen/mmu.c')
-rw-r--r--arch/x86/xen/mmu.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
index 9855eb8ee4b3..8c8298d78185 100644
--- a/arch/x86/xen/mmu.c
+++ b/arch/x86/xen/mmu.c
@@ -1412,8 +1412,10 @@ static int xen_pgd_alloc(struct mm_struct *mm)
1412 page->private = (unsigned long)user_pgd; 1412 page->private = (unsigned long)user_pgd;
1413 1413
1414 if (user_pgd != NULL) { 1414 if (user_pgd != NULL) {
1415#ifdef CONFIG_X86_VSYSCALL_EMULATION
1415 user_pgd[pgd_index(VSYSCALL_ADDR)] = 1416 user_pgd[pgd_index(VSYSCALL_ADDR)] =
1416 __pgd(__pa(level3_user_vsyscall) | _PAGE_TABLE); 1417 __pgd(__pa(level3_user_vsyscall) | _PAGE_TABLE);
1418#endif
1417 ret = 0; 1419 ret = 0;
1418 } 1420 }
1419 1421
@@ -1976,7 +1978,7 @@ static void xen_set_fixmap(unsigned idx, phys_addr_t phys, pgprot_t prot)
1976# ifdef CONFIG_HIGHMEM 1978# ifdef CONFIG_HIGHMEM
1977 case FIX_KMAP_BEGIN ... FIX_KMAP_END: 1979 case FIX_KMAP_BEGIN ... FIX_KMAP_END:
1978# endif 1980# endif
1979#else 1981#elif defined(CONFIG_X86_VSYSCALL_EMULATION)
1980 case VSYSCALL_PAGE: 1982 case VSYSCALL_PAGE:
1981#endif 1983#endif
1982 case FIX_TEXT_POKE0: 1984 case FIX_TEXT_POKE0:
@@ -2015,7 +2017,7 @@ static void xen_set_fixmap(unsigned idx, phys_addr_t phys, pgprot_t prot)
2015 2017
2016 __native_set_fixmap(idx, pte); 2018 __native_set_fixmap(idx, pte);
2017 2019
2018#ifdef CONFIG_X86_64 2020#ifdef CONFIG_X86_VSYSCALL_EMULATION
2019 /* Replicate changes to map the vsyscall page into the user 2021 /* Replicate changes to map the vsyscall page into the user
2020 pagetable vsyscall mapping. */ 2022 pagetable vsyscall mapping. */
2021 if (idx == VSYSCALL_PAGE) { 2023 if (idx == VSYSCALL_PAGE) {