Sophie

Sophie

distrib > Mandriva > current > x86_64 > by-pkgid > d41cc2729f5f0fbbd2607b14a49457f3 > files > 45

kernel-xen-2.6.32.11-2mdv2010.1.src.rpm

From: jbeulich@novell.com
Subject: fix placement of some routines/data
Patch-mainline: obsolete

--- sle11sp1-2010-03-22.orig/arch/x86/kernel/time-xen.c	2010-02-09 17:07:46.000000000 +0100
+++ sle11sp1-2010-03-22/arch/x86/kernel/time-xen.c	2010-03-01 14:45:54.000000000 +0100
@@ -674,7 +674,7 @@ int xen_update_persistent_clock(void)
 /* Dynamically-mapped IRQ. */
 DEFINE_PER_CPU(int, timer_irq);
 
-static void setup_cpu0_timer_irq(void)
+static void __init setup_cpu0_timer_irq(void)
 {
 	per_cpu(timer_irq, 0) =
 		bind_virq_to_irqhandler(
@@ -899,7 +899,7 @@ int __cpuinit local_setup_timer(unsigned
 	return 0;
 }
 
-void __cpuexit local_teardown_timer(unsigned int cpu)
+void __cpuinit local_teardown_timer(unsigned int cpu)
 {
 	BUG_ON(cpu == 0);
 	unbind_from_irqhandler(per_cpu(timer_irq, cpu), NULL);
--- sle11sp1-2010-03-22.orig/drivers/xen/core/cpu_hotplug.c	2009-11-06 10:51:55.000000000 +0100
+++ sle11sp1-2010-03-22/drivers/xen/core/cpu_hotplug.c	2009-11-06 11:09:19.000000000 +0100
@@ -24,7 +24,7 @@ static int local_cpu_hotplug_request(voi
 	return (current->mm != NULL);
 }
 
-static void vcpu_hotplug(unsigned int cpu)
+static void __cpuinit vcpu_hotplug(unsigned int cpu)
 {
 	int err;
 	char dir[32], state[32];
@@ -51,7 +51,7 @@ static void vcpu_hotplug(unsigned int cp
 	}
 }
 
-static void handle_vcpu_hotplug_event(
+static void __cpuinit handle_vcpu_hotplug_event(
 	struct xenbus_watch *watch, const char **vec, unsigned int len)
 {
 	unsigned int cpu;
@@ -80,12 +80,12 @@ static int smpboot_cpu_notify(struct not
 	return NOTIFY_OK;
 }
 
-static int setup_cpu_watcher(struct notifier_block *notifier,
-			      unsigned long event, void *data)
+static int __cpuinit setup_cpu_watcher(struct notifier_block *notifier,
+				       unsigned long event, void *data)
 {
 	unsigned int i;
 
-	static struct xenbus_watch cpu_watch = {
+	static struct xenbus_watch __cpuinitdata cpu_watch = {
 		.node = "cpu",
 		.callback = handle_vcpu_hotplug_event,
 		.flags = XBWF_new_thread };
@@ -105,7 +105,7 @@ static int __init setup_vcpu_hotplug_eve
 {
 	static struct notifier_block hotplug_cpu = {
 		.notifier_call = smpboot_cpu_notify };
-	static struct notifier_block xsn_cpu = {
+	static struct notifier_block __cpuinitdata xsn_cpu = {
 		.notifier_call = setup_cpu_watcher };
 
 	if (!is_running_on_xen())
@@ -119,7 +119,7 @@ static int __init setup_vcpu_hotplug_eve
 
 arch_initcall(setup_vcpu_hotplug_event);
 
-int smp_suspend(void)
+int __ref smp_suspend(void)
 {
 	unsigned int cpu;
 	int err;
@@ -140,7 +140,7 @@ int smp_suspend(void)
 	return 0;
 }
 
-void smp_resume(void)
+void __ref smp_resume(void)
 {
 	unsigned int cpu;
 
--- sle11sp1-2010-03-22.orig/drivers/xen/core/smpboot.c	2010-03-22 12:25:59.000000000 +0100
+++ sle11sp1-2010-03-22/drivers/xen/core/smpboot.c	2010-03-22 12:57:24.000000000 +0100
@@ -181,7 +181,7 @@ static int __cpuinit xen_smp_intr_init(u
 }
 
 #ifdef CONFIG_HOTPLUG_CPU
-static void __cpuexit xen_smp_intr_exit(unsigned int cpu)
+static void __cpuinit xen_smp_intr_exit(unsigned int cpu)
 {
 	if (cpu != 0)
 		local_teardown_timer(cpu);
@@ -400,7 +400,7 @@ int __cpuexit __cpu_disable(void)
 	return 0;
 }
 
-void __cpuexit __cpu_die(unsigned int cpu)
+void __cpuinit __cpu_die(unsigned int cpu)
 {
 	while (HYPERVISOR_vcpu_op(VCPUOP_is_up, cpu, NULL)) {
 		current->state = TASK_UNINTERRUPTIBLE;
--- sle11sp1-2010-03-22.orig/drivers/xen/evtchn/evtchn.c	2009-03-18 10:39:31.000000000 +0100
+++ sle11sp1-2010-03-22/drivers/xen/evtchn/evtchn.c	2009-11-06 11:09:19.000000000 +0100
@@ -549,14 +549,15 @@ static int __init evtchn_init(void)
 
 	return 0;
 }
+module_init(evtchn_init);
 
+#ifdef CONFIG_MODULE
 static void __exit evtchn_cleanup(void)
 {
 	misc_deregister(&evtchn_miscdev);
 	unregister_cpu_notifier(&evtchn_cpu_nfb);
 }
-
-module_init(evtchn_init);
 module_exit(evtchn_cleanup);
+#endif
 
 MODULE_LICENSE("Dual BSD/GPL");