]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blame - src/patches/suse-2.6.27.39/patches.xen/xen3-x2APIC_PATCH_20_of_41_cff73a6ffaed726780b001937d2a42efde553922
Fix oinkmaster patch.
[people/pmueller/ipfire-2.x.git] / src / patches / suse-2.6.27.39 / patches.xen / xen3-x2APIC_PATCH_20_of_41_cff73a6ffaed726780b001937d2a42efde553922
CommitLineData
2cb7cef9
BS
1From: Suresh Siddha <suresh.b.siddha@intel.com>
2Subject: x64, x2apic/intr-remap: introcude self IPI to genapic routines
3References: fate #303948 and fate #303984
4Patch-Mainline: queued for .28
5Commit-ID: cff73a6ffaed726780b001937d2a42efde553922
6
7Signed-off-by: Thomas Renninger <trenn@suse.de>
8
9Introduce self IPI op for genapic.
10
11Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
12Cc: akpm@linux-foundation.org
13Cc: arjan@linux.intel.com
14Cc: andi@firstfloor.org
15Cc: ebiederm@xmission.com
16Cc: jbarnes@virtuousgeek.org
17Cc: steiner@sgi.com
18Signed-off-by: Ingo Molnar <mingo@elte.hu>
19
20Automatically created from "patches.arch/x2APIC_PATCH_20_of_41_cff73a6ffaed726780b001937d2a42efde553922" by xen-port-patches.py
21
22Index: head-2008-11-04/arch/x86/kernel/genapic_64-xen.c
23===================================================================
24--- head-2008-11-04.orig/arch/x86/kernel/genapic_64-xen.c 2008-11-04 11:55:22.000000000 +0100
25+++ head-2008-11-04/arch/x86/kernel/genapic_64-xen.c 2008-11-04 14:40:00.000000000 +0100
26@@ -72,18 +72,12 @@ void __init setup_apic_routing(void)
27
28 /* Same for both flat and physical. */
29
30-#ifdef CONFIG_XEN
31-extern void xen_send_IPI_shortcut(unsigned int shortcut, int vector, unsigned int dest);
32-#endif
33-
34-void send_IPI_self(int vector)
35-{
36 #ifndef CONFIG_XEN
37+void apic_send_IPI_self(int vector)
38+{
39 __send_IPI_shortcut(APIC_DEST_SELF, vector, APIC_DEST_PHYSICAL);
40-#else
41- xen_send_IPI_shortcut(APIC_DEST_SELF, vector, APIC_DEST_PHYSICAL);
42-#endif
43 }
44+#endif
45
46 int __init acpi_madt_oem_check(char *oem_id, char *oem_table_id)
47 {
48Index: head-2008-11-04/arch/x86/kernel/genapic_xen_64.c
49===================================================================
50--- head-2008-11-04.orig/arch/x86/kernel/genapic_xen_64.c 2008-11-04 11:55:22.000000000 +0100
51+++ head-2008-11-04/arch/x86/kernel/genapic_xen_64.c 2008-11-04 14:41:17.000000000 +0100
52@@ -34,7 +34,8 @@ static inline void __send_IPI_one(unsign
53 notify_remote_via_irq(irq);
54 }
55
56-void xen_send_IPI_shortcut(unsigned int shortcut, int vector, unsigned int dest)
57+static void xen_send_IPI_shortcut(unsigned int shortcut, int vector,
58+ unsigned int dest)
59 {
60 int cpu;
61
62@@ -116,6 +117,11 @@ static void xen_send_IPI_mask(cpumask_t
63 local_irq_restore(flags);
64 }
65
66+static void xen_send_IPI_self(int vector)
67+{
68+ xen_send_IPI_shortcut(APIC_DEST_SELF, vector, APIC_DEST_PHYSICAL);
69+}
70+
71 #ifdef CONFIG_XEN_PRIVILEGED_GUEST
72 static int xen_apic_id_registered(void)
73 {
74@@ -152,6 +158,7 @@ struct genapic apic_xen = {
75 .send_IPI_all = xen_send_IPI_all,
76 .send_IPI_allbutself = xen_send_IPI_allbutself,
77 .send_IPI_mask = xen_send_IPI_mask,
78+ .send_IPI_self = xen_send_IPI_self,
79 .cpu_mask_to_apicid = xen_cpu_mask_to_apicid,
80 .phys_pkg_id = phys_pkg_id,
81 };