summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/acpi/boot.c
diff options
context:
space:
mode:
authorAlexey Starikovskiy2008-04-04 21:41:57 +0200
committerIngo Molnar2008-04-17 17:41:35 +0200
commit31d2092eb0c23636b73d2c24c0c11b66470cef58 (patch)
treed2bc92d15ada32ae100187b702da4a21a047c758 /arch/x86/kernel/acpi/boot.c
parentx86: move mp_register_lapic to boot.c (diff)
downloadkernel-qcow2-linux-31d2092eb0c23636b73d2c24c0c11b66470cef58.tar.gz
kernel-qcow2-linux-31d2092eb0c23636b73d2c24c0c11b66470cef58.tar.xz
kernel-qcow2-linux-31d2092eb0c23636b73d2c24c0c11b66470cef58.zip
x86: move mp_register_lapic_address to boot.c
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/acpi/boot.c')
-rw-r--r--arch/x86/kernel/acpi/boot.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index 11bd11847b19..057ccf1d5ad4 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -765,6 +765,16 @@ static int __init acpi_parse_fadt(struct acpi_table_header *table)
* Parse LAPIC entries in MADT
* returns 0 on success, < 0 on error
*/
+
+static void __init acpi_register_lapic_address(unsigned long address)
+{
+ mp_lapic_addr = address;
+
+ set_fixmap_nocache(FIX_APIC_BASE, address);
+ if (boot_cpu_physical_apicid == -1U)
+ boot_cpu_physical_apicid = GET_APIC_ID(read_apic_id());
+}
+
static int __init acpi_parse_madt_lapic_entries(void)
{
int count;
@@ -786,7 +796,7 @@ static int __init acpi_parse_madt_lapic_entries(void)
return count;
}
- mp_register_lapic_address(acpi_lapic_addr);
+ acpi_register_lapic_address(acpi_lapic_addr);
count = acpi_table_parse_madt(ACPI_MADT_TYPE_LOCAL_SAPIC,
acpi_parse_sapic, MAX_APICS);