]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - src/patches/suse-2.6.27.25/patches.xen/xen3-x2APIC_PATCH_20_of_41_cff73a6ffaed726780b001937d2a42efde553922
Updated xen patches taken from suse.
[people/pmueller/ipfire-2.x.git] / src / patches / suse-2.6.27.25 / patches.xen / xen3-x2APIC_PATCH_20_of_41_cff73a6ffaed726780b001937d2a42efde553922
1 From: Suresh Siddha <suresh.b.siddha@intel.com>
2 Subject: x64, x2apic/intr-remap: introcude self IPI to genapic routines
3 References: fate #303948 and fate #303984
4 Patch-Mainline: queued for .28
5 Commit-ID: cff73a6ffaed726780b001937d2a42efde553922
6
7 Signed-off-by: Thomas Renninger <trenn@suse.de>
8
9 Introduce self IPI op for genapic.
10
11 Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
12 Cc: akpm@linux-foundation.org
13 Cc: arjan@linux.intel.com
14 Cc: andi@firstfloor.org
15 Cc: ebiederm@xmission.com
16 Cc: jbarnes@virtuousgeek.org
17 Cc: steiner@sgi.com
18 Signed-off-by: Ingo Molnar <mingo@elte.hu>
19
20 Automatically created from "patches.arch/x2APIC_PATCH_20_of_41_cff73a6ffaed726780b001937d2a42efde553922" by xen-port-patches.py
21
22 Index: 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 {
48 Index: 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 };