aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/vmi_32.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-12-26 03:21:05 -0500
committerIngo Molnar <mingo@elte.hu>2008-12-26 03:21:05 -0500
commitc656d9ca48d3ef1a11449e892ce488ee0bb5a335 (patch)
tree0c5598659b3e7f12864d203967d42ac3feb1142c /arch/x86/kernel/vmi_32.c
parent71ab6b245fda6e7597a667a67cce0d26c3c7a14b (diff)
parenta73ad3331fdbf4191cf99b83ea9ac7082b6757ba (diff)
Merge branch 'x86/fpu' into x86/cleanups
Diffstat (limited to 'arch/x86/kernel/vmi_32.c')
-rw-r--r--arch/x86/kernel/vmi_32.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/arch/x86/kernel/vmi_32.c b/arch/x86/kernel/vmi_32.c
index 8087e0cd877d..23206ba16874 100644
--- a/arch/x86/kernel/vmi_32.c
+++ b/arch/x86/kernel/vmi_32.c
@@ -841,8 +841,6 @@ static inline int __init activate_vmi(void)
841 841
842void __init vmi_init(void) 842void __init vmi_init(void)
843{ 843{
844 unsigned long flags;
845
846 if (!vmi_rom) 844 if (!vmi_rom)
847 probe_vmi_rom(); 845 probe_vmi_rom();
848 else 846 else
@@ -854,13 +852,21 @@ void __init vmi_init(void)
854 852
855 reserve_top_address(-vmi_rom->virtual_top); 853 reserve_top_address(-vmi_rom->virtual_top);
856 854
857 local_irq_save(flags);
858 activate_vmi();
859
860#ifdef CONFIG_X86_IO_APIC 855#ifdef CONFIG_X86_IO_APIC
861 /* This is virtual hardware; timer routing is wired correctly */ 856 /* This is virtual hardware; timer routing is wired correctly */
862 no_timer_check = 1; 857 no_timer_check = 1;
863#endif 858#endif
859}
860
861void vmi_activate(void)
862{
863 unsigned long flags;
864
865 if (!vmi_rom)
866 return;
867
868 local_irq_save(flags);
869 activate_vmi();
864 local_irq_restore(flags & X86_EFLAGS_IF); 870 local_irq_restore(flags & X86_EFLAGS_IF);
865} 871}
866 872