aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/xen/enlighten.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/xen/enlighten.c')
-rw-r--r--arch/x86/xen/enlighten.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 95ff6a0e942a..e3dd3fb67290 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -36,7 +36,7 @@
36#include <xen/hvc-console.h> 36#include <xen/hvc-console.h>
37 37
38#include <asm/paravirt.h> 38#include <asm/paravirt.h>
39#include <asm/apic.h> 39#include <asm/genapic.h>
40#include <asm/page.h> 40#include <asm/page.h>
41#include <asm/xen/hypercall.h> 41#include <asm/xen/hypercall.h>
42#include <asm/xen/hypervisor.h> 42#include <asm/xen/hypervisor.h>
@@ -554,14 +554,15 @@ static u32 xen_safe_apic_wait_icr_idle(void)
554 return 0; 554 return 0;
555} 555}
556 556
557static struct apic_ops xen_basic_apic_ops = { 557static void set_xen_basic_apic_ops(void)
558 .read = xen_apic_read, 558{
559 .write = xen_apic_write, 559 apic->read = xen_apic_read;
560 .icr_read = xen_apic_icr_read, 560 apic->write = xen_apic_write;
561 .icr_write = xen_apic_icr_write, 561 apic->icr_read = xen_apic_icr_read;
562 .wait_icr_idle = xen_apic_wait_icr_idle, 562 apic->icr_write = xen_apic_icr_write;
563 .safe_wait_icr_idle = xen_safe_apic_wait_icr_idle, 563 apic->wait_icr_idle = xen_apic_wait_icr_idle;
564}; 564 apic->safe_wait_icr_idle = xen_safe_apic_wait_icr_idle;
565}
565 566
566#endif 567#endif
567 568
@@ -898,7 +899,7 @@ asmlinkage void __init xen_start_kernel(void)
898 /* 899 /*
899 * set up the basic apic ops. 900 * set up the basic apic ops.
900 */ 901 */
901 apic_ops = &xen_basic_apic_ops; 902 set_xen_basic_apic_ops();
902#endif 903#endif
903 904
904 if (xen_feature(XENFEAT_mmu_pt_update_preserve_ad)) { 905 if (xen_feature(XENFEAT_mmu_pt_update_preserve_ad)) {