|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] [PATCH, adjusted] linux: secondary CPU handling adjustments
Add proper attributes and remove a few unused items (I forgot that part
of the necessary changes lived in a different local patch, which is the
reason for the resend).
As usual, written and tested on 2.6.24-rc4 and made apply to the 2.6.18
tree without further testing.
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
Index: head-2007-12-11/arch/i386/kernel/time-xen.c
===================================================================
--- head-2007-12-11.orig/arch/i386/kernel/time-xen.c 2007-12-11
11:17:36.000000000 +0100
+++ head-2007-12-11/arch/i386/kernel/time-xen.c 2007-12-11 11:45:10.000000000
+0100
@@ -1054,7 +1054,7 @@ void time_resume(void)
#ifdef CONFIG_SMP
static char timer_name[NR_CPUS][15];
-int local_setup_timer(unsigned int cpu)
+int __cpuinit local_setup_timer(unsigned int cpu)
{
int seq, irq;
@@ -1085,7 +1085,7 @@ int local_setup_timer(unsigned int cpu)
return 0;
}
-void local_teardown_timer(unsigned int cpu)
+void __cpuexit local_teardown_timer(unsigned int cpu)
{
BUG_ON(cpu == 0);
unbind_from_irqhandler(per_cpu(timer_irq, cpu), NULL);
Index: head-2007-12-11/drivers/xen/core/smpboot.c
===================================================================
--- head-2007-12-11.orig/drivers/xen/core/smpboot.c 2007-12-11
11:44:59.000000000 +0100
+++ head-2007-12-11/drivers/xen/core/smpboot.c 2007-12-11 11:45:10.000000000
+0100
@@ -59,8 +59,6 @@ static char callfunc_name[NR_CPUS][15];
u8 cpu_2_logical_apicid[NR_CPUS] = { [0 ... NR_CPUS-1] = BAD_APICID };
-void *xquad_portio;
-
cpumask_t cpu_sibling_map[NR_CPUS] __cacheline_aligned;
cpumask_t cpu_core_map[NR_CPUS] __cacheline_aligned;
EXPORT_SYMBOL(cpu_core_map);
@@ -113,7 +111,7 @@ remove_siblinginfo(int cpu)
cpu_data[cpu].booted_cores = 0;
}
-static int xen_smp_intr_init(unsigned int cpu)
+static int __cpuinit xen_smp_intr_init(unsigned int cpu)
{
int rc;
@@ -165,7 +165,7 @@ static void xen_smp_intr_exit(unsigned i
}
#endif
-void cpu_bringup(void)
+void __cpuinit cpu_bringup(void)
{
cpu_init();
identify_cpu(cpu_data + smp_processor_id());
@@ -178,13 +178,13 @@ void cpu_bringup(void)
local_irq_enable();
}
-static void cpu_bringup_and_idle(void)
+static void __cpuinit cpu_bringup_and_idle(void)
{
cpu_bringup();
cpu_idle();
}
-static void cpu_initialize_context(unsigned int cpu)
+static void __cpuinit cpu_initialize_context(unsigned int cpu)
{
vcpu_guest_context_t ctxt;
struct task_struct *idle = idle_task(cpu);
@@ -403,21 +401,9 @@ void __cpu_die(unsigned int cpu)
alternatives_smp_switch(0);
}
-#else /* !CONFIG_HOTPLUG_CPU */
-
-int __cpu_disable(void)
-{
- return -ENOSYS;
-}
-
-void __cpu_die(unsigned int cpu)
-{
- BUG();
-}
-
#endif /* CONFIG_HOTPLUG_CPU */
-int __devinit __cpu_up(unsigned int cpu)
+int __cpuinit __cpu_up(unsigned int cpu)
{
int rc;
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-devel] [PATCH, adjusted] linux: secondary CPU handling adjustments,
Jan Beulich <=
|
|
|
|
|