|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] [IA64] Remove init_task definition
# HG changeset patch
# User Alex Williamson <alex.williamson@xxxxxx>
# Date 1200596743 25200
# Node ID fd56e24b07c8f2435ea2875c7fd60932bcc5bc46
# Parent d4abdf169a001f8252b6a79ab574ae1f4885e264
[IA64] Remove init_task definition
init_task in kernel area shouldn't be referenced.
The corresponding address in the identity mapping area should be used.
i.e. ia64_tpa(init_task) + PAGE_OFFSET, because ia64_switch_rr7() and
vmx_switch_rr7() assume that stack is in indentity mapping area.
To make it sure, remove init_task definition.
Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
---
xen/arch/ia64/linux-xen/head.S | 4 ++++
xen/arch/ia64/xen/idle0_task.c | 14 ++++++++------
2 files changed, 12 insertions(+), 6 deletions(-)
diff -r d4abdf169a00 -r fd56e24b07c8 xen/arch/ia64/linux-xen/head.S
--- a/xen/arch/ia64/linux-xen/head.S Thu Jan 17 12:05:43 2008 -0700
+++ b/xen/arch/ia64/linux-xen/head.S Thu Jan 17 12:05:43 2008 -0700
@@ -311,6 +311,10 @@ 1: // now we are in virtual mode
#define isAP p2 // are we an Application Processor?
#define isBP p3 // are we the Bootstrap Processor?
+#ifdef XEN
+# define init_task init_task_mem
+#endif
+
#ifdef CONFIG_SMP
/*
* Find the init_task for the currently booting CPU. At poweron, and in
diff -r d4abdf169a00 -r fd56e24b07c8 xen/arch/ia64/xen/idle0_task.c
--- a/xen/arch/ia64/xen/idle0_task.c Thu Jan 17 12:05:43 2008 -0700
+++ b/xen/arch/ia64/xen/idle0_task.c Thu Jan 17 12:05:43 2008 -0700
@@ -11,17 +11,19 @@
/*
* Initial task structure.
*
- * We need to make sure that this is properly aligned due to the way process
stacks are
- * handled. This is done by having a special ".data.init_task" section...
+ * We need to make sure that this is properly aligned due to the way process
+ * stacks are handled.
+ * This is done by having a special ".data.init_task" section...
+ *
+ * init_task_mem shouldn't be used directly. the corresponding address in
+ * the identity mapping area should be used.
+ * I.e. __va(ia64_tpa(init_task_mem)) should be used.
*/
union {
struct {
struct vcpu task;
} s;
unsigned long stack[KERNEL_STACK_SIZE/sizeof (unsigned long)];
-} init_task_mem asm ("init_task") __attribute__((section(".data.init_task")))
= {{
+} init_task_mem __attribute__((section(".data.init_task"))) = {{
.task = IDLE_VCPU(init_task_mem.s.task)
}};
-
-EXPORT_SYMBOL(init_task);
-
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] [IA64] Remove init_task definition,
Xen patchbot-unstable <=
|
|
|
|
|