diff options
-rw-r--r-- | arch/x86_64/kernel/Makefile | 4 | ||||
-rw-r--r-- | arch/x86_64/kernel/apic.c | 6 | ||||
-rw-r--r-- | arch/x86_64/kernel/crash.c | 2 | ||||
-rw-r--r-- | arch/x86_64/kernel/entry.S | 2 | ||||
-rw-r--r-- | arch/x86_64/kernel/head64.c | 2 | ||||
-rw-r--r-- | arch/x86_64/kernel/i8259.c | 9 | ||||
-rw-r--r-- | arch/x86_64/kernel/irq.c | 6 | ||||
-rw-r--r-- | arch/x86_64/kernel/mpparse.c | 9 | ||||
-rw-r--r-- | arch/x86_64/kernel/setup.c | 6 | ||||
-rw-r--r-- | arch/x86_64/kernel/smpboot.c | 5 | ||||
-rw-r--r-- | arch/x86_64/kernel/time.c | 8 | ||||
-rw-r--r-- | arch/x86_64/kernel/traps.c | 2 | ||||
-rw-r--r-- | include/asm-x86_64/apic.h | 4 | ||||
-rw-r--r-- | include/asm-x86_64/fixmap.h | 4 | ||||
-rw-r--r-- | include/asm-x86_64/io_apic.h | 6 | ||||
-rw-r--r-- | include/asm-x86_64/irq.h | 2 | ||||
-rw-r--r-- | include/asm-x86_64/mpspec.h | 2 | ||||
-rw-r--r-- | include/asm-x86_64/smp.h | 4 |
18 files changed, 3 insertions, 80 deletions
diff --git a/arch/x86_64/kernel/Makefile b/arch/x86_64/kernel/Makefile index b5aaeafc1cd3..0ef39553c0f6 100644 --- a/arch/x86_64/kernel/Makefile +++ b/arch/x86_64/kernel/Makefile | |||
@@ -20,8 +20,8 @@ obj-$(CONFIG_X86_MSR) += msr.o | |||
20 | obj-$(CONFIG_MICROCODE) += microcode.o | 20 | obj-$(CONFIG_MICROCODE) += microcode.o |
21 | obj-$(CONFIG_X86_CPUID) += cpuid.o | 21 | obj-$(CONFIG_X86_CPUID) += cpuid.o |
22 | obj-$(CONFIG_SMP) += smp.o smpboot.o trampoline.o | 22 | obj-$(CONFIG_SMP) += smp.o smpboot.o trampoline.o |
23 | obj-$(CONFIG_X86_LOCAL_APIC) += apic.o nmi.o | 23 | obj-y += apic.o nmi.o |
24 | obj-$(CONFIG_X86_IO_APIC) += io_apic.o mpparse.o \ | 24 | obj-y += io_apic.o mpparse.o \ |
25 | genapic.o genapic_cluster.o genapic_flat.o | 25 | genapic.o genapic_cluster.o genapic_flat.o |
26 | obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o crash.o | 26 | obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o crash.o |
27 | obj-$(CONFIG_CRASH_DUMP) += crash_dump.o | 27 | obj-$(CONFIG_CRASH_DUMP) += crash_dump.o |
diff --git a/arch/x86_64/kernel/apic.c b/arch/x86_64/kernel/apic.c index 63d9b037afc6..c6ca100a7dea 100644 --- a/arch/x86_64/kernel/apic.c +++ b/arch/x86_64/kernel/apic.c | |||
@@ -661,7 +661,6 @@ void __init init_apic_mappings(void) | |||
661 | */ | 661 | */ |
662 | boot_cpu_id = GET_APIC_ID(apic_read(APIC_ID)); | 662 | boot_cpu_id = GET_APIC_ID(apic_read(APIC_ID)); |
663 | 663 | ||
664 | #ifdef CONFIG_X86_IO_APIC | ||
665 | { | 664 | { |
666 | unsigned long ioapic_phys, idx = FIX_IO_APIC_BASE_0; | 665 | unsigned long ioapic_phys, idx = FIX_IO_APIC_BASE_0; |
667 | int i; | 666 | int i; |
@@ -679,7 +678,6 @@ void __init init_apic_mappings(void) | |||
679 | idx++; | 678 | idx++; |
680 | } | 679 | } |
681 | } | 680 | } |
682 | #endif | ||
683 | } | 681 | } |
684 | 682 | ||
685 | /* | 683 | /* |
@@ -1129,12 +1127,10 @@ int __init APIC_init_uniprocessor (void) | |||
1129 | 1127 | ||
1130 | setup_local_APIC(); | 1128 | setup_local_APIC(); |
1131 | 1129 | ||
1132 | #ifdef CONFIG_X86_IO_APIC | ||
1133 | if (smp_found_config && !skip_ioapic_setup && nr_ioapics) | 1130 | if (smp_found_config && !skip_ioapic_setup && nr_ioapics) |
1134 | setup_IO_APIC(); | 1131 | setup_IO_APIC(); |
1135 | else | 1132 | else |
1136 | nr_ioapics = 0; | 1133 | nr_ioapics = 0; |
1137 | #endif | ||
1138 | setup_boot_APIC_clock(); | 1134 | setup_boot_APIC_clock(); |
1139 | check_nmi_watchdog(); | 1135 | check_nmi_watchdog(); |
1140 | return 0; | 1136 | return 0; |
diff --git a/arch/x86_64/kernel/crash.c b/arch/x86_64/kernel/crash.c index 7d7a9e75f70c..3525f884af82 100644 --- a/arch/x86_64/kernel/crash.c +++ b/arch/x86_64/kernel/crash.c | |||
@@ -194,9 +194,7 @@ void machine_crash_shutdown(struct pt_regs *regs) | |||
194 | if(cpu_has_apic) | 194 | if(cpu_has_apic) |
195 | disable_local_APIC(); | 195 | disable_local_APIC(); |
196 | 196 | ||
197 | #if defined(CONFIG_X86_IO_APIC) | ||
198 | disable_IO_APIC(); | 197 | disable_IO_APIC(); |
199 | #endif | ||
200 | 198 | ||
201 | crash_save_self(regs); | 199 | crash_save_self(regs); |
202 | } | 200 | } |
diff --git a/arch/x86_64/kernel/entry.S b/arch/x86_64/kernel/entry.S index 2dc5c01f754d..a0cf36ba7c56 100644 --- a/arch/x86_64/kernel/entry.S +++ b/arch/x86_64/kernel/entry.S | |||
@@ -676,7 +676,6 @@ ENTRY(call_function_interrupt) | |||
676 | END(call_function_interrupt) | 676 | END(call_function_interrupt) |
677 | #endif | 677 | #endif |
678 | 678 | ||
679 | #ifdef CONFIG_X86_LOCAL_APIC | ||
680 | ENTRY(apic_timer_interrupt) | 679 | ENTRY(apic_timer_interrupt) |
681 | apicinterrupt LOCAL_TIMER_VECTOR,smp_apic_timer_interrupt | 680 | apicinterrupt LOCAL_TIMER_VECTOR,smp_apic_timer_interrupt |
682 | END(apic_timer_interrupt) | 681 | END(apic_timer_interrupt) |
@@ -688,7 +687,6 @@ END(error_interrupt) | |||
688 | ENTRY(spurious_interrupt) | 687 | ENTRY(spurious_interrupt) |
689 | apicinterrupt SPURIOUS_APIC_VECTOR,smp_spurious_interrupt | 688 | apicinterrupt SPURIOUS_APIC_VECTOR,smp_spurious_interrupt |
690 | END(spurious_interrupt) | 689 | END(spurious_interrupt) |
691 | #endif | ||
692 | 690 | ||
693 | /* | 691 | /* |
694 | * Exception entry points. | 692 | * Exception entry points. |
diff --git a/arch/x86_64/kernel/head64.c b/arch/x86_64/kernel/head64.c index 36647ce6aecb..bacbd75c63ad 100644 --- a/arch/x86_64/kernel/head64.c +++ b/arch/x86_64/kernel/head64.c | |||
@@ -111,10 +111,8 @@ void __init x86_64_start_kernel(char * real_mode_data) | |||
111 | if (s != NULL) | 111 | if (s != NULL) |
112 | numa_setup(s+5); | 112 | numa_setup(s+5); |
113 | #endif | 113 | #endif |
114 | #ifdef CONFIG_X86_IO_APIC | ||
115 | if (strstr(saved_command_line, "disableapic")) | 114 | if (strstr(saved_command_line, "disableapic")) |
116 | disable_apic = 1; | 115 | disable_apic = 1; |
117 | #endif | ||
118 | /* You need early console to see that */ | 116 | /* You need early console to see that */ |
119 | if (__pa_symbol(&_end) >= KERNEL_TEXT_SIZE) | 117 | if (__pa_symbol(&_end) >= KERNEL_TEXT_SIZE) |
120 | panic("Kernel too big for kernel mapping\n"); | 118 | panic("Kernel too big for kernel mapping\n"); |
diff --git a/arch/x86_64/kernel/i8259.c b/arch/x86_64/kernel/i8259.c index 0434b1f8e3dd..d2f5acde5749 100644 --- a/arch/x86_64/kernel/i8259.c +++ b/arch/x86_64/kernel/i8259.c | |||
@@ -55,7 +55,6 @@ | |||
55 | */ | 55 | */ |
56 | BUILD_16_IRQS(0x0) | 56 | BUILD_16_IRQS(0x0) |
57 | 57 | ||
58 | #ifdef CONFIG_X86_LOCAL_APIC | ||
59 | /* | 58 | /* |
60 | * The IO-APIC gives us many more interrupt sources. Most of these | 59 | * The IO-APIC gives us many more interrupt sources. Most of these |
61 | * are unused but an SMP system is supposed to have enough memory ... | 60 | * are unused but an SMP system is supposed to have enough memory ... |
@@ -75,8 +74,6 @@ BUILD_16_IRQS(0xc) BUILD_16_IRQS(0xd) | |||
75 | BUILD_15_IRQS(0xe) | 74 | BUILD_15_IRQS(0xe) |
76 | #endif | 75 | #endif |
77 | 76 | ||
78 | #endif | ||
79 | |||
80 | #undef BUILD_16_IRQS | 77 | #undef BUILD_16_IRQS |
81 | #undef BUILD_15_IRQS | 78 | #undef BUILD_15_IRQS |
82 | #undef BI | 79 | #undef BI |
@@ -100,7 +97,6 @@ BUILD_16_IRQS(0xc) BUILD_16_IRQS(0xd) | |||
100 | void (*interrupt[NR_IRQS])(void) = { | 97 | void (*interrupt[NR_IRQS])(void) = { |
101 | IRQLIST_16(0x0), | 98 | IRQLIST_16(0x0), |
102 | 99 | ||
103 | #ifdef CONFIG_X86_IO_APIC | ||
104 | IRQLIST_16(0x1), IRQLIST_16(0x2), IRQLIST_16(0x3), | 100 | IRQLIST_16(0x1), IRQLIST_16(0x2), IRQLIST_16(0x3), |
105 | IRQLIST_16(0x4), IRQLIST_16(0x5), IRQLIST_16(0x6), IRQLIST_16(0x7), | 101 | IRQLIST_16(0x4), IRQLIST_16(0x5), IRQLIST_16(0x6), IRQLIST_16(0x7), |
106 | IRQLIST_16(0x8), IRQLIST_16(0x9), IRQLIST_16(0xa), IRQLIST_16(0xb), | 102 | IRQLIST_16(0x8), IRQLIST_16(0x9), IRQLIST_16(0xa), IRQLIST_16(0xb), |
@@ -110,7 +106,6 @@ void (*interrupt[NR_IRQS])(void) = { | |||
110 | , IRQLIST_15(0xe) | 106 | , IRQLIST_15(0xe) |
111 | #endif | 107 | #endif |
112 | 108 | ||
113 | #endif | ||
114 | }; | 109 | }; |
115 | 110 | ||
116 | #undef IRQ | 111 | #undef IRQ |
@@ -453,9 +448,7 @@ void __init init_ISA_irqs (void) | |||
453 | { | 448 | { |
454 | int i; | 449 | int i; |
455 | 450 | ||
456 | #ifdef CONFIG_X86_LOCAL_APIC | ||
457 | init_bsp_APIC(); | 451 | init_bsp_APIC(); |
458 | #endif | ||
459 | init_8259A(0); | 452 | init_8259A(0); |
460 | 453 | ||
461 | for (i = 0; i < NR_IRQS; i++) { | 454 | for (i = 0; i < NR_IRQS; i++) { |
@@ -581,14 +574,12 @@ void __init init_IRQ(void) | |||
581 | set_intr_gate(THERMAL_APIC_VECTOR, thermal_interrupt); | 574 | set_intr_gate(THERMAL_APIC_VECTOR, thermal_interrupt); |
582 | set_intr_gate(THRESHOLD_APIC_VECTOR, threshold_interrupt); | 575 | set_intr_gate(THRESHOLD_APIC_VECTOR, threshold_interrupt); |
583 | 576 | ||
584 | #ifdef CONFIG_X86_LOCAL_APIC | ||
585 | /* self generated IPI for local APIC timer */ | 577 | /* self generated IPI for local APIC timer */ |
586 | set_intr_gate(LOCAL_TIMER_VECTOR, apic_timer_interrupt); | 578 | set_intr_gate(LOCAL_TIMER_VECTOR, apic_timer_interrupt); |
587 | 579 | ||
588 | /* IPI vectors for APIC spurious and error interrupts */ | 580 | /* IPI vectors for APIC spurious and error interrupts */ |
589 | set_intr_gate(SPURIOUS_APIC_VECTOR, spurious_interrupt); | 581 | set_intr_gate(SPURIOUS_APIC_VECTOR, spurious_interrupt); |
590 | set_intr_gate(ERROR_APIC_VECTOR, error_interrupt); | 582 | set_intr_gate(ERROR_APIC_VECTOR, error_interrupt); |
591 | #endif | ||
592 | 583 | ||
593 | /* | 584 | /* |
594 | * Set the clock to HZ Hz, we already have a valid | 585 | * Set the clock to HZ Hz, we already have a valid |
diff --git a/arch/x86_64/kernel/irq.c b/arch/x86_64/kernel/irq.c index 5221a53e90c1..bfbcf92cfa4a 100644 --- a/arch/x86_64/kernel/irq.c +++ b/arch/x86_64/kernel/irq.c | |||
@@ -20,11 +20,9 @@ | |||
20 | #include <asm/idle.h> | 20 | #include <asm/idle.h> |
21 | 21 | ||
22 | atomic_t irq_err_count; | 22 | atomic_t irq_err_count; |
23 | #ifdef CONFIG_X86_IO_APIC | ||
24 | #ifdef APIC_MISMATCH_DEBUG | 23 | #ifdef APIC_MISMATCH_DEBUG |
25 | atomic_t irq_mis_count; | 24 | atomic_t irq_mis_count; |
26 | #endif | 25 | #endif |
27 | #endif | ||
28 | 26 | ||
29 | #ifdef CONFIG_DEBUG_STACKOVERFLOW | 27 | #ifdef CONFIG_DEBUG_STACKOVERFLOW |
30 | /* | 28 | /* |
@@ -92,18 +90,14 @@ skip: | |||
92 | for_each_online_cpu(j) | 90 | for_each_online_cpu(j) |
93 | seq_printf(p, "%10u ", cpu_pda(j)->__nmi_count); | 91 | seq_printf(p, "%10u ", cpu_pda(j)->__nmi_count); |
94 | seq_putc(p, '\n'); | 92 | seq_putc(p, '\n'); |
95 | #ifdef CONFIG_X86_LOCAL_APIC | ||
96 | seq_printf(p, "LOC: "); | 93 | seq_printf(p, "LOC: "); |
97 | for_each_online_cpu(j) | 94 | for_each_online_cpu(j) |
98 | seq_printf(p, "%10u ", cpu_pda(j)->apic_timer_irqs); | 95 | seq_printf(p, "%10u ", cpu_pda(j)->apic_timer_irqs); |
99 | seq_putc(p, '\n'); | 96 | seq_putc(p, '\n'); |
100 | #endif | ||
101 | seq_printf(p, "ERR: %10u\n", atomic_read(&irq_err_count)); | 97 | seq_printf(p, "ERR: %10u\n", atomic_read(&irq_err_count)); |
102 | #ifdef CONFIG_X86_IO_APIC | ||
103 | #ifdef APIC_MISMATCH_DEBUG | 98 | #ifdef APIC_MISMATCH_DEBUG |
104 | seq_printf(p, "MIS: %10u\n", atomic_read(&irq_mis_count)); | 99 | seq_printf(p, "MIS: %10u\n", atomic_read(&irq_mis_count)); |
105 | #endif | 100 | #endif |
106 | #endif | ||
107 | } | 101 | } |
108 | return 0; | 102 | return 0; |
109 | } | 103 | } |
diff --git a/arch/x86_64/kernel/mpparse.c b/arch/x86_64/kernel/mpparse.c index a1ab4197f8a1..c73dd1f41e65 100644 --- a/arch/x86_64/kernel/mpparse.c +++ b/arch/x86_64/kernel/mpparse.c | |||
@@ -74,14 +74,10 @@ physid_mask_t phys_cpu_present_map = PHYSID_MASK_NONE; | |||
74 | /* ACPI MADT entry parsing functions */ | 74 | /* ACPI MADT entry parsing functions */ |
75 | #ifdef CONFIG_ACPI | 75 | #ifdef CONFIG_ACPI |
76 | extern struct acpi_boot_flags acpi_boot; | 76 | extern struct acpi_boot_flags acpi_boot; |
77 | #ifdef CONFIG_X86_LOCAL_APIC | ||
78 | extern int acpi_parse_lapic (acpi_table_entry_header *header); | 77 | extern int acpi_parse_lapic (acpi_table_entry_header *header); |
79 | extern int acpi_parse_lapic_addr_ovr (acpi_table_entry_header *header); | 78 | extern int acpi_parse_lapic_addr_ovr (acpi_table_entry_header *header); |
80 | extern int acpi_parse_lapic_nmi (acpi_table_entry_header *header); | 79 | extern int acpi_parse_lapic_nmi (acpi_table_entry_header *header); |
81 | #endif /*CONFIG_X86_LOCAL_APIC*/ | ||
82 | #ifdef CONFIG_X86_IO_APIC | ||
83 | extern int acpi_parse_ioapic (acpi_table_entry_header *header); | 80 | extern int acpi_parse_ioapic (acpi_table_entry_header *header); |
84 | #endif /*CONFIG_X86_IO_APIC*/ | ||
85 | #endif /*CONFIG_ACPI*/ | 81 | #endif /*CONFIG_ACPI*/ |
86 | 82 | ||
87 | u8 bios_cpu_apicid[NR_CPUS] = { [0 ... NR_CPUS-1] = BAD_APICID }; | 83 | u8 bios_cpu_apicid[NR_CPUS] = { [0 ... NR_CPUS-1] = BAD_APICID }; |
@@ -661,9 +657,7 @@ void __init find_intel_smp (void) | |||
661 | */ | 657 | */ |
662 | void __init find_smp_config (void) | 658 | void __init find_smp_config (void) |
663 | { | 659 | { |
664 | #ifdef CONFIG_X86_LOCAL_APIC | ||
665 | find_intel_smp(); | 660 | find_intel_smp(); |
666 | #endif | ||
667 | } | 661 | } |
668 | 662 | ||
669 | 663 | ||
@@ -717,8 +711,6 @@ void __cpuinit mp_register_lapic ( | |||
717 | MP_processor_info(&processor); | 711 | MP_processor_info(&processor); |
718 | } | 712 | } |
719 | 713 | ||
720 | #ifdef CONFIG_X86_IO_APIC | ||
721 | |||
722 | #define MP_ISA_BUS 0 | 714 | #define MP_ISA_BUS 0 |
723 | #define MP_MAX_IOAPIC_PIN 127 | 715 | #define MP_MAX_IOAPIC_PIN 127 |
724 | 716 | ||
@@ -997,5 +989,4 @@ int mp_register_gsi(u32 gsi, int triggering, int polarity) | |||
997 | return gsi; | 989 | return gsi; |
998 | } | 990 | } |
999 | 991 | ||
1000 | #endif /*CONFIG_X86_IO_APIC*/ | ||
1001 | #endif /*CONFIG_ACPI*/ | 992 | #endif /*CONFIG_ACPI*/ |
diff --git a/arch/x86_64/kernel/setup.c b/arch/x86_64/kernel/setup.c index 34afad704824..fbe9f7faa2db 100644 --- a/arch/x86_64/kernel/setup.c +++ b/arch/x86_64/kernel/setup.c | |||
@@ -340,11 +340,9 @@ static __init void parse_cmdline_early (char ** cmdline_p) | |||
340 | else if (fullarg(from, "acpi=strict")) { | 340 | else if (fullarg(from, "acpi=strict")) { |
341 | acpi_strict = 1; | 341 | acpi_strict = 1; |
342 | } | 342 | } |
343 | #ifdef CONFIG_X86_IO_APIC | ||
344 | else if (fullarg(from, "acpi_skip_timer_override")) | 343 | else if (fullarg(from, "acpi_skip_timer_override")) |
345 | acpi_skip_timer_override = 1; | 344 | acpi_skip_timer_override = 1; |
346 | #endif | 345 | #endif |
347 | #endif | ||
348 | 346 | ||
349 | if (fullarg(from, "disable_timer_pin_1")) | 347 | if (fullarg(from, "disable_timer_pin_1")) |
350 | disable_timer_pin_1 = 1; | 348 | disable_timer_pin_1 = 1; |
@@ -625,12 +623,10 @@ void __init setup_arch(char **cmdline_p) | |||
625 | */ | 623 | */ |
626 | acpi_reserve_bootmem(); | 624 | acpi_reserve_bootmem(); |
627 | #endif | 625 | #endif |
628 | #ifdef CONFIG_X86_LOCAL_APIC | ||
629 | /* | 626 | /* |
630 | * Find and reserve possible boot-time SMP configuration: | 627 | * Find and reserve possible boot-time SMP configuration: |
631 | */ | 628 | */ |
632 | find_smp_config(); | 629 | find_smp_config(); |
633 | #endif | ||
634 | #ifdef CONFIG_BLK_DEV_INITRD | 630 | #ifdef CONFIG_BLK_DEV_INITRD |
635 | if (LOADER_TYPE && INITRD_START) { | 631 | if (LOADER_TYPE && INITRD_START) { |
636 | if (INITRD_START + INITRD_SIZE <= (end_pfn << PAGE_SHIFT)) { | 632 | if (INITRD_START + INITRD_SIZE <= (end_pfn << PAGE_SHIFT)) { |
@@ -674,14 +670,12 @@ void __init setup_arch(char **cmdline_p) | |||
674 | 670 | ||
675 | init_cpu_to_node(); | 671 | init_cpu_to_node(); |
676 | 672 | ||
677 | #ifdef CONFIG_X86_LOCAL_APIC | ||
678 | /* | 673 | /* |
679 | * get boot-time SMP configuration: | 674 | * get boot-time SMP configuration: |
680 | */ | 675 | */ |
681 | if (smp_found_config) | 676 | if (smp_found_config) |
682 | get_smp_config(); | 677 | get_smp_config(); |
683 | init_apic_mappings(); | 678 | init_apic_mappings(); |
684 | #endif | ||
685 | 679 | ||
686 | /* | 680 | /* |
687 | * Request address space for all standard RAM and ROM resources | 681 | * Request address space for all standard RAM and ROM resources |
diff --git a/arch/x86_64/kernel/smpboot.c b/arch/x86_64/kernel/smpboot.c index 582896f7d420..d29571e24953 100644 --- a/arch/x86_64/kernel/smpboot.c +++ b/arch/x86_64/kernel/smpboot.c | |||
@@ -1175,13 +1175,8 @@ int __cpuinit __cpu_up(unsigned int cpu) | |||
1175 | void __init smp_cpus_done(unsigned int max_cpus) | 1175 | void __init smp_cpus_done(unsigned int max_cpus) |
1176 | { | 1176 | { |
1177 | smp_cleanup_boot(); | 1177 | smp_cleanup_boot(); |
1178 | |||
1179 | #ifdef CONFIG_X86_IO_APIC | ||
1180 | setup_ioapic_dest(); | 1178 | setup_ioapic_dest(); |
1181 | #endif | ||
1182 | |||
1183 | check_nmi_watchdog(); | 1179 | check_nmi_watchdog(); |
1184 | |||
1185 | time_init_gtod(); | 1180 | time_init_gtod(); |
1186 | } | 1181 | } |
1187 | 1182 | ||
diff --git a/arch/x86_64/kernel/time.c b/arch/x86_64/kernel/time.c index ea00915d393a..d66c7f750e75 100644 --- a/arch/x86_64/kernel/time.c +++ b/arch/x86_64/kernel/time.c | |||
@@ -41,9 +41,7 @@ | |||
41 | #include <asm/sections.h> | 41 | #include <asm/sections.h> |
42 | #include <linux/cpufreq.h> | 42 | #include <linux/cpufreq.h> |
43 | #include <linux/hpet.h> | 43 | #include <linux/hpet.h> |
44 | #ifdef CONFIG_X86_LOCAL_APIC | ||
45 | #include <asm/apic.h> | 44 | #include <asm/apic.h> |
46 | #endif | ||
47 | 45 | ||
48 | #ifdef CONFIG_CPU_FREQ | 46 | #ifdef CONFIG_CPU_FREQ |
49 | static void cpufreq_delayed_get(void); | 47 | static void cpufreq_delayed_get(void); |
@@ -438,12 +436,8 @@ void main_timer_handler(struct pt_regs *regs) | |||
438 | * have to call the local interrupt handler. | 436 | * have to call the local interrupt handler. |
439 | */ | 437 | */ |
440 | 438 | ||
441 | #ifndef CONFIG_X86_LOCAL_APIC | ||
442 | profile_tick(CPU_PROFILING, regs); | ||
443 | #else | ||
444 | if (!using_apic_timer) | 439 | if (!using_apic_timer) |
445 | smp_local_timer_interrupt(regs); | 440 | smp_local_timer_interrupt(regs); |
446 | #endif | ||
447 | 441 | ||
448 | /* | 442 | /* |
449 | * If we have an externally synchronized Linux clock, then update CMOS clock | 443 | * If we have an externally synchronized Linux clock, then update CMOS clock |
@@ -467,10 +461,8 @@ static irqreturn_t timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | |||
467 | if (apic_runs_main_timer > 1) | 461 | if (apic_runs_main_timer > 1) |
468 | return IRQ_HANDLED; | 462 | return IRQ_HANDLED; |
469 | main_timer_handler(regs); | 463 | main_timer_handler(regs); |
470 | #ifdef CONFIG_X86_LOCAL_APIC | ||
471 | if (using_apic_timer) | 464 | if (using_apic_timer) |
472 | smp_send_timer_broadcast_ipi(); | 465 | smp_send_timer_broadcast_ipi(); |
473 | #endif | ||
474 | return IRQ_HANDLED; | 466 | return IRQ_HANDLED; |
475 | } | 467 | } |
476 | 468 | ||
diff --git a/arch/x86_64/kernel/traps.c b/arch/x86_64/kernel/traps.c index 96f62a033242..56d7ff0c894c 100644 --- a/arch/x86_64/kernel/traps.c +++ b/arch/x86_64/kernel/traps.c | |||
@@ -788,7 +788,6 @@ asmlinkage __kprobes void default_do_nmi(struct pt_regs *regs) | |||
788 | if (notify_die(DIE_NMI_IPI, "nmi_ipi", regs, reason, 2, SIGINT) | 788 | if (notify_die(DIE_NMI_IPI, "nmi_ipi", regs, reason, 2, SIGINT) |
789 | == NOTIFY_STOP) | 789 | == NOTIFY_STOP) |
790 | return; | 790 | return; |
791 | #ifdef CONFIG_X86_LOCAL_APIC | ||
792 | /* | 791 | /* |
793 | * Ok, so this is none of the documented NMI sources, | 792 | * Ok, so this is none of the documented NMI sources, |
794 | * so it must be the NMI watchdog. | 793 | * so it must be the NMI watchdog. |
@@ -796,7 +795,6 @@ asmlinkage __kprobes void default_do_nmi(struct pt_regs *regs) | |||
796 | if (nmi_watchdog_tick(regs,reason)) | 795 | if (nmi_watchdog_tick(regs,reason)) |
797 | return; | 796 | return; |
798 | if (!do_nmi_callback(regs,cpu)) | 797 | if (!do_nmi_callback(regs,cpu)) |
799 | #endif | ||
800 | unknown_nmi_error(reason, regs); | 798 | unknown_nmi_error(reason, regs); |
801 | 799 | ||
802 | return; | 800 | return; |
diff --git a/include/asm-x86_64/apic.h b/include/asm-x86_64/apic.h index 9c96a0a8d1bd..8ed0f4d67b8d 100644 --- a/include/asm-x86_64/apic.h +++ b/include/asm-x86_64/apic.h | |||
@@ -29,8 +29,6 @@ extern int apic_runs_main_timer; | |||
29 | printk(s, ##a); \ | 29 | printk(s, ##a); \ |
30 | } while (0) | 30 | } while (0) |
31 | 31 | ||
32 | #ifdef CONFIG_X86_LOCAL_APIC | ||
33 | |||
34 | struct pt_regs; | 32 | struct pt_regs; |
35 | 33 | ||
36 | /* | 34 | /* |
@@ -104,8 +102,6 @@ void switch_ipi_to_APIC_timer(void *cpumask); | |||
104 | 102 | ||
105 | #define ARCH_APICTIMER_STOPS_ON_C3 1 | 103 | #define ARCH_APICTIMER_STOPS_ON_C3 1 |
106 | 104 | ||
107 | #endif /* CONFIG_X86_LOCAL_APIC */ | ||
108 | |||
109 | extern unsigned boot_cpu_id; | 105 | extern unsigned boot_cpu_id; |
110 | 106 | ||
111 | #endif /* __ASM_APIC_H */ | 107 | #endif /* __ASM_APIC_H */ |
diff --git a/include/asm-x86_64/fixmap.h b/include/asm-x86_64/fixmap.h index 0b4ffbd1a125..1b620db5b9e3 100644 --- a/include/asm-x86_64/fixmap.h +++ b/include/asm-x86_64/fixmap.h | |||
@@ -37,13 +37,9 @@ enum fixed_addresses { | |||
37 | VSYSCALL_FIRST_PAGE = VSYSCALL_LAST_PAGE + ((VSYSCALL_END-VSYSCALL_START) >> PAGE_SHIFT) - 1, | 37 | VSYSCALL_FIRST_PAGE = VSYSCALL_LAST_PAGE + ((VSYSCALL_END-VSYSCALL_START) >> PAGE_SHIFT) - 1, |
38 | VSYSCALL_HPET, | 38 | VSYSCALL_HPET, |
39 | FIX_HPET_BASE, | 39 | FIX_HPET_BASE, |
40 | #ifdef CONFIG_X86_LOCAL_APIC | ||
41 | FIX_APIC_BASE, /* local (CPU) APIC) -- required for SMP or not */ | 40 | FIX_APIC_BASE, /* local (CPU) APIC) -- required for SMP or not */ |
42 | #endif | ||
43 | #ifdef CONFIG_X86_IO_APIC | ||
44 | FIX_IO_APIC_BASE_0, | 41 | FIX_IO_APIC_BASE_0, |
45 | FIX_IO_APIC_BASE_END = FIX_IO_APIC_BASE_0 + MAX_IO_APICS-1, | 42 | FIX_IO_APIC_BASE_END = FIX_IO_APIC_BASE_0 + MAX_IO_APICS-1, |
46 | #endif | ||
47 | __end_of_fixed_addresses | 43 | __end_of_fixed_addresses |
48 | }; | 44 | }; |
49 | 45 | ||
diff --git a/include/asm-x86_64/io_apic.h b/include/asm-x86_64/io_apic.h index fb7a0909a174..5d1b5c68e36e 100644 --- a/include/asm-x86_64/io_apic.h +++ b/include/asm-x86_64/io_apic.h | |||
@@ -10,8 +10,6 @@ | |||
10 | * Copyright (C) 1997, 1998, 1999, 2000 Ingo Molnar | 10 | * Copyright (C) 1997, 1998, 1999, 2000 Ingo Molnar |
11 | */ | 11 | */ |
12 | 12 | ||
13 | #ifdef CONFIG_X86_IO_APIC | ||
14 | |||
15 | #ifdef CONFIG_PCI_MSI | 13 | #ifdef CONFIG_PCI_MSI |
16 | static inline int use_pci_vector(void) {return 1;} | 14 | static inline int use_pci_vector(void) {return 1;} |
17 | static inline void disable_edge_ioapic_vector(unsigned int vector) { } | 15 | static inline void disable_edge_ioapic_vector(unsigned int vector) { } |
@@ -209,10 +207,6 @@ extern int timer_uses_ioapic_pin_0; | |||
209 | 207 | ||
210 | extern int sis_apic_bug; /* dummy */ | 208 | extern int sis_apic_bug; /* dummy */ |
211 | 209 | ||
212 | #else /* !CONFIG_X86_IO_APIC */ | ||
213 | #define io_apic_assign_pci_irqs 0 | ||
214 | #endif | ||
215 | |||
216 | extern int assign_irq_vector(int irq); | 210 | extern int assign_irq_vector(int irq); |
217 | 211 | ||
218 | void enable_NMI_through_LVT0 (void * dummy); | 212 | void enable_NMI_through_LVT0 (void * dummy); |
diff --git a/include/asm-x86_64/irq.h b/include/asm-x86_64/irq.h index 9db5a1b4f7b1..43469d8ab71a 100644 --- a/include/asm-x86_64/irq.h +++ b/include/asm-x86_64/irq.h | |||
@@ -44,9 +44,7 @@ static __inline__ int irq_canonicalize(int irq) | |||
44 | return ((irq == 2) ? 9 : irq); | 44 | return ((irq == 2) ? 9 : irq); |
45 | } | 45 | } |
46 | 46 | ||
47 | #ifdef CONFIG_X86_LOCAL_APIC | ||
48 | #define ARCH_HAS_NMI_WATCHDOG /* See include/linux/nmi.h */ | 47 | #define ARCH_HAS_NMI_WATCHDOG /* See include/linux/nmi.h */ |
49 | #endif | ||
50 | 48 | ||
51 | #ifdef CONFIG_HOTPLUG_CPU | 49 | #ifdef CONFIG_HOTPLUG_CPU |
52 | #include <linux/cpumask.h> | 50 | #include <linux/cpumask.h> |
diff --git a/include/asm-x86_64/mpspec.h b/include/asm-x86_64/mpspec.h index 14fc3ddd9031..3c7aae9fd157 100644 --- a/include/asm-x86_64/mpspec.h +++ b/include/asm-x86_64/mpspec.h | |||
@@ -184,12 +184,10 @@ extern int pic_mode; | |||
184 | extern void mp_register_lapic (u8 id, u8 enabled); | 184 | extern void mp_register_lapic (u8 id, u8 enabled); |
185 | extern void mp_register_lapic_address (u64 address); | 185 | extern void mp_register_lapic_address (u64 address); |
186 | 186 | ||
187 | #ifdef CONFIG_X86_IO_APIC | ||
188 | extern void mp_register_ioapic (u8 id, u32 address, u32 gsi_base); | 187 | extern void mp_register_ioapic (u8 id, u32 address, u32 gsi_base); |
189 | extern void mp_override_legacy_irq (u8 bus_irq, u8 polarity, u8 trigger, u32 gsi); | 188 | extern void mp_override_legacy_irq (u8 bus_irq, u8 polarity, u8 trigger, u32 gsi); |
190 | extern void mp_config_acpi_legacy_irqs (void); | 189 | extern void mp_config_acpi_legacy_irqs (void); |
191 | extern int mp_register_gsi (u32 gsi, int triggering, int polarity); | 190 | extern int mp_register_gsi (u32 gsi, int triggering, int polarity); |
192 | #endif /*CONFIG_X86_IO_APIC*/ | ||
193 | #endif | 191 | #endif |
194 | 192 | ||
195 | extern int using_apic_timer; | 193 | extern int using_apic_timer; |
diff --git a/include/asm-x86_64/smp.h b/include/asm-x86_64/smp.h index 612d208961a2..6353fa41bebe 100644 --- a/include/asm-x86_64/smp.h +++ b/include/asm-x86_64/smp.h | |||
@@ -9,15 +9,11 @@ | |||
9 | #include <linux/bitops.h> | 9 | #include <linux/bitops.h> |
10 | extern int disable_apic; | 10 | extern int disable_apic; |
11 | 11 | ||
12 | #ifdef CONFIG_X86_LOCAL_APIC | ||
13 | #include <asm/fixmap.h> | 12 | #include <asm/fixmap.h> |
14 | #include <asm/mpspec.h> | 13 | #include <asm/mpspec.h> |
15 | #ifdef CONFIG_X86_IO_APIC | ||
16 | #include <asm/io_apic.h> | 14 | #include <asm/io_apic.h> |
17 | #endif | ||
18 | #include <asm/apic.h> | 15 | #include <asm/apic.h> |
19 | #include <asm/thread_info.h> | 16 | #include <asm/thread_info.h> |
20 | #endif | ||
21 | 17 | ||
22 | #ifdef CONFIG_SMP | 18 | #ifdef CONFIG_SMP |
23 | 19 | ||