lkml.org 
[lkml]   [2006]   [Jul]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[RFC PATCH 22/33] subarch stack pointer update
Register the new kernel ('ring 0') stack pointer with the hypervisor
during context switch.

Signed-off-by: Ian Pratt <ian.pratt@xensource.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
---
include/asm-i386/mach-default/mach_processor.h | 7 +++++++
include/asm-i386/mach-xen/mach_processor.h | 8 ++++++++
include/asm-i386/processor.h | 1 +
3 files changed, 16 insertions(+)

diff -r 60dd30eed8f3 include/asm-i386/mach-default/mach_processor.h
--- a/include/asm-i386/mach-default/mach_processor.h Fri Mar 31 15:36:12 2006 +0100
+++ b/include/asm-i386/mach-default/mach_processor.h Fri Mar 31 15:38:00 2006 +0100
@@ -4,4 +4,11 @@
#define CPUID cpuid
#define CPUID_STR "cpuid"

+#ifndef __ASSEMBLY__
+static inline void mach_update_kernel_stack(unsigned long esp0,
+ unsigned short ss0)
+{
+}
+#endif
+
#endif /* __ASM_MACH_PROCESSOR_H */
diff -r 60dd30eed8f3 include/asm-i386/mach-xen/mach_processor.h
--- a/include/asm-i386/mach-xen/mach_processor.h Fri Mar 31 15:36:12 2006 +0100
+++ b/include/asm-i386/mach-xen/mach_processor.h Fri Mar 31 15:38:00 2006 +0100
@@ -6,4 +6,12 @@
#define CPUID XEN_CPUID
#define CPUID_STR XEN_CPUID

+#ifndef __ASSEMBLY__
+static inline void mach_update_kernel_stack(unsigned long esp0,
+ unsigned short ss0)
+{
+ HYPERVISOR_stack_switch(ss0, esp0);
+}
+#endif
+
#endif /* __ASM_MACH_PROCESSOR_H */
diff -r 60dd30eed8f3 include/asm-i386/processor.h
--- a/include/asm-i386/processor.h Fri Mar 31 15:36:12 2006 +0100
+++ b/include/asm-i386/processor.h Fri Mar 31 15:38:00 2006 +0100
@@ -500,6 +500,7 @@ static inline void load_esp0(struct tss_
tss->ss1 = thread->sysenter_cs;
wrmsr(MSR_IA32_SYSENTER_CS, thread->sysenter_cs, 0);
}
+ mach_update_kernel_stack(tss->esp0, tss->ss0);
}

#define start_thread(regs, new_eip, new_esp) do { \
--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-07-18 11:33    [W:0.175 / U:7.300 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site