[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |