aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86_64/kernel/Makefile4
-rw-r--r--arch/x86_64/kernel/apic.c6
-rw-r--r--arch/x86_64/kernel/crash.c2
-rw-r--r--arch/x86_64/kernel/entry.S2
-rw-r--r--arch/x86_64/kernel/head64.c2
-rw-r--r--arch/x86_64/kernel/i8259.c9
-rw-r--r--arch/x86_64/kernel/irq.c6
-rw-r--r--arch/x86_64/kernel/mpparse.c9
-rw-r--r--arch/x86_64/kernel/setup.c6
-rw-r--r--arch/x86_64/kernel/smpboot.c5
-rw-r--r--arch/x86_64/kernel/time.c8
-rw-r--r--arch/x86_64/kernel/traps.c2
-rw-r--r--include/asm-x86_64/apic.h4
-rw-r--r--include/asm-x86_64/fixmap.h4
-rw-r--r--include/asm-x86_64/io_apic.h6
-rw-r--r--include/asm-x86_64/irq.h2
-rw-r--r--include/asm-x86_64/mpspec.h2
-rw-r--r--include/asm-x86_64/smp.h4
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
20obj-$(CONFIG_MICROCODE) += microcode.o 20obj-$(CONFIG_MICROCODE) += microcode.o
21obj-$(CONFIG_X86_CPUID) += cpuid.o 21obj-$(CONFIG_X86_CPUID) += cpuid.o
22obj-$(CONFIG_SMP) += smp.o smpboot.o trampoline.o 22obj-$(CONFIG_SMP) += smp.o smpboot.o trampoline.o
23obj-$(CONFIG_X86_LOCAL_APIC) += apic.o nmi.o 23obj-y += apic.o nmi.o
24obj-$(CONFIG_X86_IO_APIC) += io_apic.o mpparse.o \ 24obj-y += io_apic.o mpparse.o \
25 genapic.o genapic_cluster.o genapic_flat.o 25 genapic.o genapic_cluster.o genapic_flat.o
26obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o crash.o 26obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o crash.o
27obj-$(CONFIG_CRASH_DUMP) += crash_dump.o 27obj-$(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)
676END(call_function_interrupt) 676END(call_function_interrupt)
677#endif 677#endif
678 678
679#ifdef CONFIG_X86_LOCAL_APIC
680ENTRY(apic_timer_interrupt) 679ENTRY(apic_timer_interrupt)
681 apicinterrupt LOCAL_TIMER_VECTOR,smp_apic_timer_interrupt 680 apicinterrupt LOCAL_TIMER_VECTOR,smp_apic_timer_interrupt
682END(apic_timer_interrupt) 681END(apic_timer_interrupt)
@@ -688,7 +687,6 @@ END(error_interrupt)
688ENTRY(spurious_interrupt) 687ENTRY(spurious_interrupt)
689 apicinterrupt SPURIOUS_APIC_VECTOR,smp_spurious_interrupt 688 apicinterrupt SPURIOUS_APIC_VECTOR,smp_spurious_interrupt
690END(spurious_interrupt) 689END(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 */
56BUILD_16_IRQS(0x0) 56BUILD_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)
100void (*interrupt[NR_IRQS])(void) = { 97void (*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
22atomic_t irq_err_count; 22atomic_t irq_err_count;
23#ifdef CONFIG_X86_IO_APIC
24#ifdef APIC_MISMATCH_DEBUG 23#ifdef APIC_MISMATCH_DEBUG
25atomic_t irq_mis_count; 24atomic_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
76extern struct acpi_boot_flags acpi_boot; 76extern struct acpi_boot_flags acpi_boot;
77#ifdef CONFIG_X86_LOCAL_APIC
78extern int acpi_parse_lapic (acpi_table_entry_header *header); 77extern int acpi_parse_lapic (acpi_table_entry_header *header);
79extern int acpi_parse_lapic_addr_ovr (acpi_table_entry_header *header); 78extern int acpi_parse_lapic_addr_ovr (acpi_table_entry_header *header);
80extern int acpi_parse_lapic_nmi (acpi_table_entry_header *header); 79extern int acpi_parse_lapic_nmi (acpi_table_entry_header *header);
81#endif /*CONFIG_X86_LOCAL_APIC*/
82#ifdef CONFIG_X86_IO_APIC
83extern int acpi_parse_ioapic (acpi_table_entry_header *header); 80extern 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
87u8 bios_cpu_apicid[NR_CPUS] = { [0 ... NR_CPUS-1] = BAD_APICID }; 83u8 bios_cpu_apicid[NR_CPUS] = { [0 ... NR_CPUS-1] = BAD_APICID };
@@ -661,9 +657,7 @@ void __init find_intel_smp (void)
661 */ 657 */
662void __init find_smp_config (void) 658void __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)
1175void __init smp_cpus_done(unsigned int max_cpus) 1175void __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
49static void cpufreq_delayed_get(void); 47static 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
34struct pt_regs; 32struct 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
109extern unsigned boot_cpu_id; 105extern 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
16static inline int use_pci_vector(void) {return 1;} 14static inline int use_pci_vector(void) {return 1;}
17static inline void disable_edge_ioapic_vector(unsigned int vector) { } 15static inline void disable_edge_ioapic_vector(unsigned int vector) { }
@@ -209,10 +207,6 @@ extern int timer_uses_ioapic_pin_0;
209 207
210extern int sis_apic_bug; /* dummy */ 208extern int sis_apic_bug; /* dummy */
211 209
212#else /* !CONFIG_X86_IO_APIC */
213#define io_apic_assign_pci_irqs 0
214#endif
215
216extern int assign_irq_vector(int irq); 210extern int assign_irq_vector(int irq);
217 211
218void enable_NMI_through_LVT0 (void * dummy); 212void 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;
184extern void mp_register_lapic (u8 id, u8 enabled); 184extern void mp_register_lapic (u8 id, u8 enabled);
185extern void mp_register_lapic_address (u64 address); 185extern void mp_register_lapic_address (u64 address);
186 186
187#ifdef CONFIG_X86_IO_APIC
188extern void mp_register_ioapic (u8 id, u32 address, u32 gsi_base); 187extern void mp_register_ioapic (u8 id, u32 address, u32 gsi_base);
189extern void mp_override_legacy_irq (u8 bus_irq, u8 polarity, u8 trigger, u32 gsi); 188extern void mp_override_legacy_irq (u8 bus_irq, u8 polarity, u8 trigger, u32 gsi);
190extern void mp_config_acpi_legacy_irqs (void); 189extern void mp_config_acpi_legacy_irqs (void);
191extern int mp_register_gsi (u32 gsi, int triggering, int polarity); 190extern int mp_register_gsi (u32 gsi, int triggering, int polarity);
192#endif /*CONFIG_X86_IO_APIC*/
193#endif 191#endif
194 192
195extern int using_apic_timer; 193extern 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>
10extern int disable_apic; 10extern 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