aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86_64/kernel/mpparse.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86_64/kernel/mpparse.c')
-rw-r--r--arch/x86_64/kernel/mpparse.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/arch/x86_64/kernel/mpparse.c b/arch/x86_64/kernel/mpparse.c
index 79c362d03e2e..8d8ed6ae1d0c 100644
--- a/arch/x86_64/kernel/mpparse.c
+++ b/arch/x86_64/kernel/mpparse.c
@@ -74,7 +74,7 @@ static unsigned int num_processors = 0;
74physid_mask_t phys_cpu_present_map = PHYSID_MASK_NONE; 74physid_mask_t phys_cpu_present_map = PHYSID_MASK_NONE;
75 75
76/* ACPI MADT entry parsing functions */ 76/* ACPI MADT entry parsing functions */
77#ifdef CONFIG_ACPI_BOOT 77#ifdef CONFIG_ACPI
78extern struct acpi_boot_flags acpi_boot; 78extern struct acpi_boot_flags acpi_boot;
79#ifdef CONFIG_X86_LOCAL_APIC 79#ifdef CONFIG_X86_LOCAL_APIC
80extern int acpi_parse_lapic (acpi_table_entry_header *header); 80extern int acpi_parse_lapic (acpi_table_entry_header *header);
@@ -84,7 +84,7 @@ extern int acpi_parse_lapic_nmi (acpi_table_entry_header *header);
84#ifdef CONFIG_X86_IO_APIC 84#ifdef CONFIG_X86_IO_APIC
85extern int acpi_parse_ioapic (acpi_table_entry_header *header); 85extern int acpi_parse_ioapic (acpi_table_entry_header *header);
86#endif /*CONFIG_X86_IO_APIC*/ 86#endif /*CONFIG_X86_IO_APIC*/
87#endif /*CONFIG_ACPI_BOOT*/ 87#endif /*CONFIG_ACPI*/
88 88
89u8 bios_cpu_apicid[NR_CPUS] = { [0 ... NR_CPUS-1] = BAD_APICID }; 89u8 bios_cpu_apicid[NR_CPUS] = { [0 ... NR_CPUS-1] = BAD_APICID };
90 90
@@ -519,8 +519,6 @@ void __init get_smp_config (void)
519 struct intel_mp_floating *mpf = mpf_found; 519 struct intel_mp_floating *mpf = mpf_found;
520 520
521 /* 521 /*
522 * ACPI may be used to obtain the entire SMP configuration or just to
523 * enumerate/configure processors (CONFIG_ACPI_BOOT). Note that
524 * ACPI supports both logical (e.g. Hyper-Threading) and physical 522 * ACPI supports both logical (e.g. Hyper-Threading) and physical
525 * processors, where MPS only supports physical. 523 * processors, where MPS only supports physical.
526 */ 524 */
@@ -673,7 +671,7 @@ void __init find_smp_config (void)
673 ACPI-based MP Configuration 671 ACPI-based MP Configuration
674 -------------------------------------------------------------------------- */ 672 -------------------------------------------------------------------------- */
675 673
676#ifdef CONFIG_ACPI_BOOT 674#ifdef CONFIG_ACPI
677 675
678void __init mp_register_lapic_address ( 676void __init mp_register_lapic_address (
679 u64 address) 677 u64 address)
@@ -929,11 +927,9 @@ int mp_register_gsi(u32 gsi, int edge_level, int active_high_low)
929 if (acpi_irq_model != ACPI_IRQ_MODEL_IOAPIC) 927 if (acpi_irq_model != ACPI_IRQ_MODEL_IOAPIC)
930 return gsi; 928 return gsi;
931 929
932#ifdef CONFIG_ACPI_BUS
933 /* Don't set up the ACPI SCI because it's already set up */ 930 /* Don't set up the ACPI SCI because it's already set up */
934 if (acpi_fadt.sci_int == gsi) 931 if (acpi_fadt.sci_int == gsi)
935 return gsi; 932 return gsi;
936#endif
937 933
938 ioapic = mp_find_ioapic(gsi); 934 ioapic = mp_find_ioapic(gsi);
939 if (ioapic < 0) { 935 if (ioapic < 0) {
@@ -973,13 +969,11 @@ int mp_register_gsi(u32 gsi, int edge_level, int active_high_low)
973 if (gsi < MAX_GSI_NUM) { 969 if (gsi < MAX_GSI_NUM) {
974 if (gsi > 15) 970 if (gsi > 15)
975 gsi = pci_irq++; 971 gsi = pci_irq++;
976#ifdef CONFIG_ACPI_BUS
977 /* 972 /*
978 * Don't assign IRQ used by ACPI SCI 973 * Don't assign IRQ used by ACPI SCI
979 */ 974 */
980 if (gsi == acpi_fadt.sci_int) 975 if (gsi == acpi_fadt.sci_int)
981 gsi = pci_irq++; 976 gsi = pci_irq++;
982#endif
983 gsi_to_irq[irq] = gsi; 977 gsi_to_irq[irq] = gsi;
984 } else { 978 } else {
985 printk(KERN_ERR "GSI %u is too high\n", gsi); 979 printk(KERN_ERR "GSI %u is too high\n", gsi);
@@ -994,4 +988,4 @@ int mp_register_gsi(u32 gsi, int edge_level, int active_high_low)
994} 988}
995 989
996#endif /*CONFIG_X86_IO_APIC*/ 990#endif /*CONFIG_X86_IO_APIC*/
997#endif /*CONFIG_ACPI_BOOT*/ 991#endif /*CONFIG_ACPI*/