x86, apic: Unify identical register_lapic_address() functions
They are the same, move the common function to apic.c to allow further cleanups. Signed-off-by: Yinghai Lu <yinghai@kernel.org> Cc: Suresh Siddha <suresh.b.siddha@intel.com> Cc: "Eric W. Biederman" <ebiederm@xmission.com> Cc: Len Brown <lenb@kernel.org> LKML-Reference: <4CFDF675.4060305@kernel.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
parent
51ddafcbc7
commit
c0104d38a7
|
@ -234,6 +234,7 @@ extern void init_bsp_APIC(void);
|
||||||
extern void setup_local_APIC(void);
|
extern void setup_local_APIC(void);
|
||||||
extern void end_local_APIC_setup(void);
|
extern void end_local_APIC_setup(void);
|
||||||
extern void init_apic_mappings(void);
|
extern void init_apic_mappings(void);
|
||||||
|
void register_lapic_address(unsigned long address);
|
||||||
extern void setup_boot_APIC_clock(void);
|
extern void setup_boot_APIC_clock(void);
|
||||||
extern void setup_secondary_APIC_clock(void);
|
extern void setup_secondary_APIC_clock(void);
|
||||||
extern int APIC_init_uniprocessor(void);
|
extern int APIC_init_uniprocessor(void);
|
||||||
|
|
|
@ -847,18 +847,6 @@ static int __init acpi_parse_fadt(struct acpi_table_header *table)
|
||||||
* returns 0 on success, < 0 on error
|
* 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 = read_apic_id();
|
|
||||||
apic_version[boot_cpu_physical_apicid] =
|
|
||||||
GET_APIC_VERSION(apic_read(APIC_LVR));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static int __init early_acpi_parse_madt_lapic_addr_ovr(void)
|
static int __init early_acpi_parse_madt_lapic_addr_ovr(void)
|
||||||
{
|
{
|
||||||
int count;
|
int count;
|
||||||
|
@ -880,7 +868,7 @@ static int __init early_acpi_parse_madt_lapic_addr_ovr(void)
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
acpi_register_lapic_address(acpi_lapic_addr);
|
register_lapic_address(acpi_lapic_addr);
|
||||||
|
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
@ -907,7 +895,7 @@ static int __init acpi_parse_madt_lapic_entries(void)
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
acpi_register_lapic_address(acpi_lapic_addr);
|
register_lapic_address(acpi_lapic_addr);
|
||||||
|
|
||||||
count = acpi_table_parse_madt(ACPI_MADT_TYPE_LOCAL_SAPIC,
|
count = acpi_table_parse_madt(ACPI_MADT_TYPE_LOCAL_SAPIC,
|
||||||
acpi_parse_sapic, MAX_APICS);
|
acpi_parse_sapic, MAX_APICS);
|
||||||
|
|
|
@ -1702,6 +1702,18 @@ void __init init_apic_mappings(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void __init 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 = read_apic_id();
|
||||||
|
apic_version[boot_cpu_physical_apicid] =
|
||||||
|
GET_APIC_VERSION(apic_read(APIC_LVR));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This initializes the IO-APIC and APIC hardware if this is
|
* This initializes the IO-APIC and APIC hardware if this is
|
||||||
* a UP kernel.
|
* a UP kernel.
|
||||||
|
|
|
@ -275,18 +275,6 @@ static void __init smp_dump_mptable(struct mpc_table *mpc, unsigned char *mpt)
|
||||||
|
|
||||||
void __init default_smp_read_mpc_oem(struct mpc_table *mpc) { }
|
void __init default_smp_read_mpc_oem(struct mpc_table *mpc) { }
|
||||||
|
|
||||||
static void __init smp_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 = read_apic_id();
|
|
||||||
apic_version[boot_cpu_physical_apicid] =
|
|
||||||
GET_APIC_VERSION(apic_read(APIC_LVR));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static int __init smp_read_mpc(struct mpc_table *mpc, unsigned early)
|
static int __init smp_read_mpc(struct mpc_table *mpc, unsigned early)
|
||||||
{
|
{
|
||||||
char str[16];
|
char str[16];
|
||||||
|
@ -310,7 +298,7 @@ static int __init smp_read_mpc(struct mpc_table *mpc, unsigned early)
|
||||||
|
|
||||||
/* Initialize the lapic mapping */
|
/* Initialize the lapic mapping */
|
||||||
if (!acpi_lapic)
|
if (!acpi_lapic)
|
||||||
smp_register_lapic_address(mpc->lapic);
|
register_lapic_address(mpc->lapic);
|
||||||
|
|
||||||
if (mpc->oemptr)
|
if (mpc->oemptr)
|
||||||
x86_init.mpparse.smp_read_mpc_oem(mpc);
|
x86_init.mpparse.smp_read_mpc_oem(mpc);
|
||||||
|
|
Loading…
Reference in New Issue