diff options
Diffstat (limited to 'arch/x86/kernel/apic/apic.c')
-rw-r--r-- | arch/x86/kernel/apic/apic.c | 6 |
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 | ||
1566 | int apic_force_enable(void) | 1566 | int 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()) |