aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/xen/setup.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-06-05 11:05:29 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-06-05 11:05:29 -0400
commita0abcf2e8f8017051830f738ac1bf5ef42703243 (patch)
treeef6ff14b5eb9cf14cd135c0f0f09fa0944192ef0 /arch/x86/xen/setup.c
parent2071b3e34fd33e496ebd7b90331ac5b3b0ac3b81 (diff)
parentc191920f737a09a7252088f018f6747f0d2f484d (diff)
Merge branch 'x86/vdso' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next
Pull x86 cdso updates from Peter Anvin: "Vdso cleanups and improvements largely from Andy Lutomirski. This makes the vdso a lot less ''special''" * 'x86/vdso' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/vdso, build: Make LE access macros clearer, host-safe x86/vdso, build: Fix cross-compilation from big-endian architectures x86/vdso, build: When vdso2c fails, unlink the output x86, vdso: Fix an OOPS accessing the HPET mapping w/o an HPET x86, mm: Replace arch_vma_name with vm_ops->name for vsyscalls x86, mm: Improve _install_special_mapping and fix x86 vdso naming mm, fs: Add vm_ops->name as an alternative to arch_vma_name x86, vdso: Fix an OOPS accessing the HPET mapping w/o an HPET x86, vdso: Remove vestiges of VDSO_PRELINK and some outdated comments x86, vdso: Move the vvar and hpet mappings next to the 64-bit vDSO x86, vdso: Move the 32-bit vdso special pages after the text x86, vdso: Reimplement vdso.so preparation in build-time C x86, vdso: Move syscall and sysenter setup into kernel/cpu/common.c x86, vdso: Clean up 32-bit vs 64-bit vdso params x86, mm: Ensure correct alignment of the fixmap
Diffstat (limited to 'arch/x86/xen/setup.c')
-rw-r--r--arch/x86/xen/setup.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index 210426a26cc0..821a11ada590 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -525,10 +525,17 @@ char * __init xen_memory_setup(void)
525static void __init fiddle_vdso(void) 525static void __init fiddle_vdso(void)
526{ 526{
527#ifdef CONFIG_X86_32 527#ifdef CONFIG_X86_32
528 /*
529 * This could be called before selected_vdso32 is initialized, so
530 * just fiddle with both possible images. vdso_image_32_syscall
531 * can't be selected, since it only exists on 64-bit systems.
532 */
528 u32 *mask; 533 u32 *mask;
529 mask = VDSO32_SYMBOL(&vdso32_int80_start, NOTE_MASK); 534 mask = vdso_image_32_int80.data +
535 vdso_image_32_int80.sym_VDSO32_NOTE_MASK;
530 *mask |= 1 << VDSO_NOTE_NONEGSEG_BIT; 536 *mask |= 1 << VDSO_NOTE_NONEGSEG_BIT;
531 mask = VDSO32_SYMBOL(&vdso32_sysenter_start, NOTE_MASK); 537 mask = vdso_image_32_sysenter.data +
538 vdso_image_32_sysenter.sym_VDSO32_NOTE_MASK;
532 *mask |= 1 << VDSO_NOTE_NONEGSEG_BIT; 539 *mask |= 1 << VDSO_NOTE_NONEGSEG_BIT;
533#endif 540#endif
534} 541}