summaryrefslogtreecommitdiff
path: root/arch/x86/kernel/vsyscall_emu_64.S
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2011-06-21 13:57:54 +1000
committerStephen Rothwell <sfr@canb.auug.org.au>2011-06-21 13:57:54 +1000
commitc669c1cfdb51f5108b2da90a5d0f5c3dd2099242 (patch)
tree344680942a6eef7586c7828285a82aea33f62f9d /arch/x86/kernel/vsyscall_emu_64.S
parenta6873c7d11f681a21826a370341e36ac9f1f0af3 (diff)
parent0b251ee3e2dc6e09ac357fa65f3e0963a1176e1a (diff)
Merge remote-tracking branch 'tip/auto-latest'
Diffstat (limited to 'arch/x86/kernel/vsyscall_emu_64.S')
-rw-r--r--arch/x86/kernel/vsyscall_emu_64.S27
1 files changed, 27 insertions, 0 deletions
diff --git a/arch/x86/kernel/vsyscall_emu_64.S b/arch/x86/kernel/vsyscall_emu_64.S
new file mode 100644
index 000000000000..ffa845eae5ca
--- /dev/null
+++ b/arch/x86/kernel/vsyscall_emu_64.S
@@ -0,0 +1,27 @@
+/*
+ * vsyscall_emu_64.S: Vsyscall emulation page
+ *
+ * Copyright (c) 2011 Andy Lutomirski
+ *
+ * Subject to the GNU General Public License, version 2
+ */
+
+#include <linux/linkage.h>
+#include <asm/irq_vectors.h>
+
+/* The unused parts of the page are filled with 0xcc by the linker script. */
+
+.section .vsyscall_0, "a"
+ENTRY(vsyscall_0)
+ int $VSYSCALL_EMU_VECTOR
+END(vsyscall_0)
+
+.section .vsyscall_1, "a"
+ENTRY(vsyscall_1)
+ int $VSYSCALL_EMU_VECTOR
+END(vsyscall_1)
+
+.section .vsyscall_2, "a"
+ENTRY(vsyscall_2)
+ int $VSYSCALL_EMU_VECTOR
+END(vsyscall_2)