diff options
Diffstat (limited to 'arch/x86/lguest/boot.c')
-rw-r--r-- | arch/x86/lguest/boot.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/arch/x86/lguest/boot.c b/arch/x86/lguest/boot.c index da2e314f61b5..f3a5305b8adf 100644 --- a/arch/x86/lguest/boot.c +++ b/arch/x86/lguest/boot.c | |||
@@ -828,13 +828,14 @@ static u32 lguest_apic_safe_wait_icr_idle(void) | |||
828 | return 0; | 828 | return 0; |
829 | } | 829 | } |
830 | 830 | ||
831 | static struct apic_ops lguest_basic_apic_ops = { | 831 | static void set_lguest_basic_apic_ops(void) |
832 | .read = lguest_apic_read, | 832 | { |
833 | .write = lguest_apic_write, | 833 | apic->read = lguest_apic_read; |
834 | .icr_read = lguest_apic_icr_read, | 834 | apic->write = lguest_apic_write; |
835 | .icr_write = lguest_apic_icr_write, | 835 | apic->icr_read = lguest_apic_icr_read; |
836 | .wait_icr_idle = lguest_apic_wait_icr_idle, | 836 | apic->icr_write = lguest_apic_icr_write; |
837 | .safe_wait_icr_idle = lguest_apic_safe_wait_icr_idle, | 837 | apic->wait_icr_idle = lguest_apic_wait_icr_idle; |
838 | apic->safe_wait_icr_idle = lguest_apic_safe_wait_icr_idle; | ||
838 | }; | 839 | }; |
839 | #endif | 840 | #endif |
840 | 841 | ||
@@ -1035,7 +1036,7 @@ __init void lguest_init(void) | |||
1035 | 1036 | ||
1036 | #ifdef CONFIG_X86_LOCAL_APIC | 1037 | #ifdef CONFIG_X86_LOCAL_APIC |
1037 | /* apic read/write intercepts */ | 1038 | /* apic read/write intercepts */ |
1038 | apic_ops = &lguest_basic_apic_ops; | 1039 | set_lguest_basic_apic_ops(); |
1039 | #endif | 1040 | #endif |
1040 | 1041 | ||
1041 | /* time operations */ | 1042 | /* time operations */ |