summaryrefslogtreecommitdiffstats
path: root/include/asm-x86/system.h
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2008-01-30 13:31:24 +0100
committerIngo Molnar <mingo@elte.hu>2008-01-30 13:31:24 +0100
commitded9aa0db815b4e1271001561e177755cb8b9468 (patch)
tree4dafa6529e6eee516d3975e87a460e414702e0a0 /include/asm-x86/system.h
parente94271017f0933b29362a3c9dea5a6b9d04d98e1 (diff)
downloadop-kernel-dev-ded9aa0db815b4e1271001561e177755cb8b9468.zip
op-kernel-dev-ded9aa0db815b4e1271001561e177755cb8b9468.tar.gz
x86: also define AT_VECTOR_SIZE_ARCH
The patch introducing this left out x86-64, despite it also having extra entries. [ mingo@elte.hu: re-merged this to after the unification patches. ] Signed-off-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/asm-x86/system.h')
-rw-r--r--include/asm-x86/system.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/include/asm-x86/system.h b/include/asm-x86/system.h
index 8a37dad..6c7d1fd 100644
--- a/include/asm-x86/system.h
+++ b/include/asm-x86/system.h
@@ -9,8 +9,14 @@
#include <linux/kernel.h>
#include <linux/irqflags.h>
+/* entries in ARCH_DLINFO: */
+#ifdef CONFIG_IA32_EMULATION
+# define AT_VECTOR_SIZE_ARCH 2
+#else
+# define AT_VECTOR_SIZE_ARCH 1
+#endif
+
#ifdef CONFIG_X86_32
-#define AT_VECTOR_SIZE_ARCH 2 /* entries in ARCH_DLINFO */
struct task_struct; /* one of the stranger aspects of C forward declarations */
extern struct task_struct *FASTCALL(__switch_to(struct task_struct *prev,
@@ -56,7 +62,7 @@ extern struct task_struct *FASTCALL(__switch_to(struct task_struct *prev,
/* Save restore flags to clear handle leaking NT */
#define switch_to(prev, next, last) \
- asm volatile(SAVE_CONTEXT \
+ asm volatile(SAVE_CONTEXT \
"movq %%rsp,%P[threadrsp](%[prev])\n\t" /* save RSP */ \
"movq %P[threadrsp](%[next]),%%rsp\n\t" /* restore RSP */ \
"call __switch_to\n\t" \
OpenPOWER on IntegriCloud