]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blame - src/patches/suse-2.6.27.39/patches.arch/x2APIC_PATCH_07_511d9d34183662aada3890883e860b151d707e22
Fix oinkmaster patch.
[people/pmueller/ipfire-2.x.git] / src / patches / suse-2.6.27.39 / patches.arch / x2APIC_PATCH_07_511d9d34183662aada3890883e860b151d707e22
CommitLineData
2cb7cef9
BS
1From: Suresh Siddha <suresh.b.siddha@intel.com>
2Subject: x86: apic_ops for lguest
3References: fate #303948 and fate #303984
4Patch-Mainline: queued for .28
5Commit-ID: 511d9d34183662aada3890883e860b151d707e22
6
7Signed-off-by: Thomas Renninger <trenn@suse.de>
8
9apic_ops for lguest.
10
11Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
12Acked-by: Yinghai Lu <yhlu.kernel@gmail.com>
13Signed-off-by: Ingo Molnar <mingo@elte.hu>
14
15---
16 arch/x86/lguest/boot.c | 34 ++++++++++++++++++++++++++++++++--
17 1 file changed, 32 insertions(+), 2 deletions(-)
18
19Index: linux-2.6.26/arch/x86/lguest/boot.c
20===================================================================
21--- linux-2.6.26.orig/arch/x86/lguest/boot.c
22+++ linux-2.6.26/arch/x86/lguest/boot.c
23@@ -792,6 +792,37 @@ static u32 lguest_apic_read(u32 reg)
24 {
25 return 0;
26 }
27+
28+static u64 lguest_apic_icr_read(void)
29+{
30+ return 0;
31+}
32+
33+static void lguest_apic_icr_write(u32 low, u32 id)
34+{
35+ /* Warn to see if there's any stray references */
36+ WARN_ON(1);
37+}
38+
39+static void lguest_apic_wait_icr_idle(void)
40+{
41+ return;
42+}
43+
44+static u32 lguest_apic_safe_wait_icr_idle(void)
45+{
46+ return 0;
47+}
48+
49+static struct apic_ops lguest_basic_apic_ops = {
50+ .read = lguest_apic_read,
51+ .write = lguest_apic_write,
52+ .write_atomic = lguest_apic_write,
53+ .icr_read = lguest_apic_icr_read,
54+ .icr_write = lguest_apic_icr_write,
55+ .wait_icr_idle = lguest_apic_wait_icr_idle,
56+ .safe_wait_icr_idle = lguest_apic_safe_wait_icr_idle,
57+};
58 #endif
59
60 /* STOP! Until an interrupt comes in. */
61@@ -991,8 +1022,7 @@ __init void lguest_init(void)
62
63 #ifdef CONFIG_X86_LOCAL_APIC
64 /* apic read/write intercepts */
65- pv_apic_ops.apic_write = lguest_apic_write;
66- pv_apic_ops.apic_read = lguest_apic_read;
67+ apic_ops = &lguest_basic_apic_ops;
68 #endif
69
70 /* time operations */