You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qubes-linux-kernel/patches.xen/xen-sections

108 lines
3.3 KiB

From: jbeulich@novell.com
Subject: fix placement of some routines/data
Patch-mainline: obsolete
--- head-2010-05-12.orig/arch/x86/kernel/time-xen.c 2010-05-12 09:03:15.000000000 +0200
+++ head-2010-05-12/arch/x86/kernel/time-xen.c 2010-05-12 09:13:55.000000000 +0200
@@ -676,7 +676,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(
@@ -901,7 +901,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);
--- head-2010-05-12.orig/drivers/xen/core/cpu_hotplug.c 2010-03-24 15:17:58.000000000 +0100
+++ head-2010-05-12/drivers/xen/core/cpu_hotplug.c 2010-01-25 13:45:39.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;
--- head-2010-05-12.orig/drivers/xen/core/smpboot.c 2010-03-24 15:25:21.000000000 +0100
+++ head-2010-05-12/drivers/xen/core/smpboot.c 2010-03-19 15:20:15.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;