Commit dfac2189 authored by Alexey Starikovskiy's avatar Alexey Starikovskiy Committed by Ingo Molnar

x86: move mp_register_lapic to boot.c

Signed-off-by: default avatarAlexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 2fe60147
...@@ -39,6 +39,7 @@ ...@@ -39,6 +39,7 @@
#include <asm/apic.h> #include <asm/apic.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/mpspec.h> #include <asm/mpspec.h>
#include <asm/smp.h>
#ifdef CONFIG_X86_LOCAL_APIC #ifdef CONFIG_X86_LOCAL_APIC
# include <mach_apic.h> # include <mach_apic.h>
...@@ -239,6 +240,16 @@ static int __init acpi_parse_madt(struct acpi_table_header *table) ...@@ -239,6 +240,16 @@ static int __init acpi_parse_madt(struct acpi_table_header *table)
return 0; return 0;
} }
static void __cpuinit acpi_register_lapic(int id, u8 enabled)
{
if (!enabled) {
++disabled_cpus;
return;
}
generic_processor_info(id, 0);
}
static int __init static int __init
acpi_parse_lapic(struct acpi_subtable_header * header, const unsigned long end) acpi_parse_lapic(struct acpi_subtable_header * header, const unsigned long end)
{ {
...@@ -258,8 +269,8 @@ acpi_parse_lapic(struct acpi_subtable_header * header, const unsigned long end) ...@@ -258,8 +269,8 @@ acpi_parse_lapic(struct acpi_subtable_header * header, const unsigned long end)
* to not preallocating memory for all NR_CPUS * to not preallocating memory for all NR_CPUS
* when we use CPU hotplug. * when we use CPU hotplug.
*/ */
mp_register_lapic(processor->id, /* APIC ID */ acpi_register_lapic(processor->id, /* APIC ID */
processor->lapic_flags & ACPI_MADT_ENABLED); /* Enabled? */ processor->lapic_flags & ACPI_MADT_ENABLED);
return 0; return 0;
} }
...@@ -276,8 +287,8 @@ acpi_parse_sapic(struct acpi_subtable_header *header, const unsigned long end) ...@@ -276,8 +287,8 @@ acpi_parse_sapic(struct acpi_subtable_header *header, const unsigned long end)
acpi_table_print_madt_entry(header); acpi_table_print_madt_entry(header);
mp_register_lapic((processor->id << 8) | processor->eid,/* APIC ID */ acpi_register_lapic((processor->id << 8) | processor->eid,/* APIC ID */
processor->lapic_flags & ACPI_MADT_ENABLED); /* Enabled? */ processor->lapic_flags & ACPI_MADT_ENABLED);
return 0; return 0;
} }
...@@ -554,7 +565,7 @@ static int __cpuinit _acpi_map_lsapic(acpi_handle handle, int *pcpu) ...@@ -554,7 +565,7 @@ static int __cpuinit _acpi_map_lsapic(acpi_handle handle, int *pcpu)
buffer.pointer = NULL; buffer.pointer = NULL;
tmp_map = cpu_present_map; tmp_map = cpu_present_map;
mp_register_lapic(physid, lapic->lapic_flags & ACPI_MADT_ENABLED); acpi_register_lapic(physid, lapic->lapic_flags & ACPI_MADT_ENABLED);
/* /*
* If mp_register_lapic successfully generates a new logical cpu * If mp_register_lapic successfully generates a new logical cpu
......
...@@ -797,22 +797,6 @@ void __init mp_register_lapic_address(u64 address) ...@@ -797,22 +797,6 @@ void __init mp_register_lapic_address(u64 address)
Dprintk("Boot CPU = %d\n", boot_cpu_physical_apicid); Dprintk("Boot CPU = %d\n", boot_cpu_physical_apicid);
} }
void __cpuinit mp_register_lapic (int id, u8 enabled)
{
if (MAX_APICS - id <= 0) {
printk(KERN_WARNING "Processor #%d invalid (max %d)\n",
id, MAX_APICS);
return;
}
if (!enabled) {
++disabled_cpus;
return;
}
generic_processor_info(id, GET_APIC_VERSION(apic_read(APIC_LVR)));
}
#ifdef CONFIG_X86_IO_APIC #ifdef CONFIG_X86_IO_APIC
#define MP_ISA_BUS 0 #define MP_ISA_BUS 0
......
...@@ -601,16 +601,6 @@ void __init mp_register_lapic_address(u64 address) ...@@ -601,16 +601,6 @@ void __init mp_register_lapic_address(u64 address)
if (boot_cpu_physical_apicid == -1U) if (boot_cpu_physical_apicid == -1U)
boot_cpu_physical_apicid = GET_APIC_ID(read_apic_id()); boot_cpu_physical_apicid = GET_APIC_ID(read_apic_id());
} }
void __cpuinit mp_register_lapic(int id, u8 enabled)
{
if (!enabled) {
++disabled_cpus;
return;
}
generic_processor_info(id, 0);
}
#define MP_ISA_BUS 0 #define MP_ISA_BUS 0
#define MP_MAX_IOAPIC_PIN 127 #define MP_MAX_IOAPIC_PIN 127
......
...@@ -44,7 +44,6 @@ extern void get_smp_config(void); ...@@ -44,7 +44,6 @@ extern void get_smp_config(void);
void __cpuinit generic_processor_info(int apicid, int version); void __cpuinit generic_processor_info(int apicid, int version);
#ifdef CONFIG_ACPI #ifdef CONFIG_ACPI
extern void mp_register_lapic(int id, u8 enabled);
extern void mp_register_lapic_address(u64 address); extern void mp_register_lapic_address(u64 address);
extern void mp_register_ioapic(int id, u32 address, u32 gsi_base); extern void mp_register_ioapic(int id, u32 address, u32 gsi_base);
extern void mp_override_legacy_irq(u8 bus_irq, u8 polarity, u8 trigger, extern void mp_override_legacy_irq(u8 bus_irq, u8 polarity, u8 trigger,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment