aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/apic/apic.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/apic/apic.c')
-rw-r--r--arch/x86/kernel/apic/apic.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
index f0e079823c4..4f43312cfbf 100644
--- a/arch/x86/kernel/apic/apic.c
+++ b/arch/x86/kernel/apic/apic.c
@@ -1563,7 +1563,7 @@ static int apic_verify(void)
1563 return 0; 1563 return 0;
1564} 1564}
1565 1565
1566int apic_force_enable(void) 1566int apic_force_enable(unsigned long addr)
1567{ 1567{
1568 u32 h, l; 1568 u32 h, l;
1569 1569
@@ -1579,7 +1579,7 @@ int apic_force_enable(void)
1579 if (!(l & MSR_IA32_APICBASE_ENABLE)) { 1579 if (!(l & MSR_IA32_APICBASE_ENABLE)) {
1580 pr_info("Local APIC disabled by BIOS -- reenabling.\n"); 1580 pr_info("Local APIC disabled by BIOS -- reenabling.\n");
1581 l &= ~MSR_IA32_APICBASE_BASE; 1581 l &= ~MSR_IA32_APICBASE_BASE;
1582 l |= MSR_IA32_APICBASE_ENABLE | APIC_DEFAULT_PHYS_BASE; 1582 l |= MSR_IA32_APICBASE_ENABLE | addr;
1583 wrmsr(MSR_IA32_APICBASE, l, h); 1583 wrmsr(MSR_IA32_APICBASE, l, h);
1584 enabled_via_apicbase = 1; 1584 enabled_via_apicbase = 1;
1585 } 1585 }
@@ -1620,7 +1620,7 @@ static int __init detect_init_APIC(void)
1620 "you can enable it with \"lapic\"\n"); 1620 "you can enable it with \"lapic\"\n");
1621 return -1; 1621 return -1;
1622 } 1622 }
1623 if (apic_force_enable()) 1623 if (apic_force_enable(APIC_DEFAULT_PHYS_BASE))
1624 return -1; 1624 return -1;
1625 } else { 1625 } else {
1626 if (apic_verify()) 1626 if (apic_verify())