diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-01-28 13:11:44 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-01-29 08:16:50 -0500 |
commit | 7b38725318f4517af6168ccbff99060d67aba1c8 (patch) | |
tree | 043e61f93a24a67ef7ca348924bd740361518ae0 | |
parent | d53e2f2855f1c7c2725d550c1ae6b26f4d671c50 (diff) |
x86: remove subarchitecture support code
Remove remaining bits of the subarchitecture code. Now that all the
special platforms are runtime probed and runtime handled, we can remove
these facilities.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r-- | arch/x86/Makefile | 5 | ||||
-rw-r--r-- | arch/x86/kernel/Makefile | 2 | ||||
-rw-r--r-- | arch/x86/kernel/probe_32.c (renamed from arch/x86/mach-generic/probe.c) | 92 | ||||
-rw-r--r-- | arch/x86/mach-generic/Makefile | 7 |
4 files changed, 93 insertions, 13 deletions
diff --git a/arch/x86/Makefile b/arch/x86/Makefile index cacee981d166..799a0d931c81 100644 --- a/arch/x86/Makefile +++ b/arch/x86/Makefile | |||
@@ -113,11 +113,6 @@ mcore-y := arch/x86/mach-default/ | |||
113 | mflags-$(CONFIG_X86_VOYAGER) := -Iarch/x86/include/asm/mach-voyager | 113 | mflags-$(CONFIG_X86_VOYAGER) := -Iarch/x86/include/asm/mach-voyager |
114 | mcore-$(CONFIG_X86_VOYAGER) := arch/x86/mach-voyager/ | 114 | mcore-$(CONFIG_X86_VOYAGER) := arch/x86/mach-voyager/ |
115 | 115 | ||
116 | # generic subarchitecture | ||
117 | mflags-$(CONFIG_X86_GENERICARCH):= -Iarch/x86/include/asm/mach-generic | ||
118 | fcore-$(CONFIG_X86_GENERICARCH) += arch/x86/mach-generic/ | ||
119 | mcore-$(CONFIG_X86_GENERICARCH) := arch/x86/mach-default/ | ||
120 | |||
121 | # default subarch .h files | 116 | # default subarch .h files |
122 | mflags-y += -Iarch/x86/include/asm/mach-default | 117 | mflags-y += -Iarch/x86/include/asm/mach-default |
123 | 118 | ||
diff --git a/arch/x86/kernel/Makefile b/arch/x86/kernel/Makefile index 4239847906a1..d3f8f49aed65 100644 --- a/arch/x86/kernel/Makefile +++ b/arch/x86/kernel/Makefile | |||
@@ -30,7 +30,7 @@ obj-y += traps.o irq.o irq_$(BITS).o dumpstack_$(BITS).o | |||
30 | obj-y += time_$(BITS).o ioport.o ldt.o dumpstack.o | 30 | obj-y += time_$(BITS).o ioport.o ldt.o dumpstack.o |
31 | obj-y += setup.o i8259.o irqinit_$(BITS).o | 31 | obj-y += setup.o i8259.o irqinit_$(BITS).o |
32 | obj-$(CONFIG_X86_VISWS) += visws_quirks.o | 32 | obj-$(CONFIG_X86_VISWS) += visws_quirks.o |
33 | obj-$(CONFIG_X86_32) += probe_roms_32.o | 33 | obj-$(CONFIG_X86_32) += probe_32.o probe_roms_32.o |
34 | obj-$(CONFIG_X86_32) += sys_i386_32.o i386_ksyms_32.o | 34 | obj-$(CONFIG_X86_32) += sys_i386_32.o i386_ksyms_32.o |
35 | obj-$(CONFIG_X86_64) += sys_x86_64.o x8664_ksyms_64.o | 35 | obj-$(CONFIG_X86_64) += sys_x86_64.o x8664_ksyms_64.o |
36 | obj-$(CONFIG_X86_64) += syscall_64.o vsyscall_64.o | 36 | obj-$(CONFIG_X86_64) += syscall_64.o vsyscall_64.o |
diff --git a/arch/x86/mach-generic/probe.c b/arch/x86/kernel/probe_32.c index c03c72221320..a6fba6914167 100644 --- a/arch/x86/mach-generic/probe.c +++ b/arch/x86/kernel/probe_32.c | |||
@@ -1,4 +1,6 @@ | |||
1 | /* | 1 | /* |
2 | * Default generic APIC driver. This handles up to 8 CPUs. | ||
3 | * | ||
2 | * Copyright 2003 Andi Kleen, SuSE Labs. | 4 | * Copyright 2003 Andi Kleen, SuSE Labs. |
3 | * Subject to the GNU Public License, v.2 | 5 | * Subject to the GNU Public License, v.2 |
4 | * | 6 | * |
@@ -17,6 +19,96 @@ | |||
17 | #include <asm/genapic.h> | 19 | #include <asm/genapic.h> |
18 | #include <asm/setup.h> | 20 | #include <asm/setup.h> |
19 | 21 | ||
22 | #include <linux/threads.h> | ||
23 | #include <linux/cpumask.h> | ||
24 | #include <asm/mpspec.h> | ||
25 | #include <asm/genapic.h> | ||
26 | #include <asm/fixmap.h> | ||
27 | #include <asm/apicdef.h> | ||
28 | #include <linux/kernel.h> | ||
29 | #include <linux/string.h> | ||
30 | #include <linux/smp.h> | ||
31 | #include <linux/init.h> | ||
32 | #include <asm/genapic.h> | ||
33 | #include <asm/ipi.h> | ||
34 | |||
35 | static void default_vector_allocation_domain(int cpu, struct cpumask *retmask) | ||
36 | { | ||
37 | /* | ||
38 | * Careful. Some cpus do not strictly honor the set of cpus | ||
39 | * specified in the interrupt destination when using lowest | ||
40 | * priority interrupt delivery mode. | ||
41 | * | ||
42 | * In particular there was a hyperthreading cpu observed to | ||
43 | * deliver interrupts to the wrong hyperthread when only one | ||
44 | * hyperthread was specified in the interrupt desitination. | ||
45 | */ | ||
46 | *retmask = (cpumask_t) { { [0] = APIC_ALL_CPUS } }; | ||
47 | } | ||
48 | |||
49 | /* should be called last. */ | ||
50 | static int probe_default(void) | ||
51 | { | ||
52 | return 1; | ||
53 | } | ||
54 | |||
55 | struct genapic apic_default = { | ||
56 | |||
57 | .name = "default", | ||
58 | .probe = probe_default, | ||
59 | .acpi_madt_oem_check = NULL, | ||
60 | .apic_id_registered = default_apic_id_registered, | ||
61 | |||
62 | .irq_delivery_mode = dest_LowestPrio, | ||
63 | /* logical delivery broadcast to all CPUs: */ | ||
64 | .irq_dest_mode = 1, | ||
65 | |||
66 | .target_cpus = default_target_cpus, | ||
67 | .disable_esr = 0, | ||
68 | .dest_logical = APIC_DEST_LOGICAL, | ||
69 | .check_apicid_used = default_check_apicid_used, | ||
70 | .check_apicid_present = default_check_apicid_present, | ||
71 | |||
72 | .vector_allocation_domain = default_vector_allocation_domain, | ||
73 | .init_apic_ldr = default_init_apic_ldr, | ||
74 | |||
75 | .ioapic_phys_id_map = default_ioapic_phys_id_map, | ||
76 | .setup_apic_routing = default_setup_apic_routing, | ||
77 | .multi_timer_check = NULL, | ||
78 | .apicid_to_node = default_apicid_to_node, | ||
79 | .cpu_to_logical_apicid = default_cpu_to_logical_apicid, | ||
80 | .cpu_present_to_apicid = default_cpu_present_to_apicid, | ||
81 | .apicid_to_cpu_present = default_apicid_to_cpu_present, | ||
82 | .setup_portio_remap = NULL, | ||
83 | .check_phys_apicid_present = default_check_phys_apicid_present, | ||
84 | .enable_apic_mode = NULL, | ||
85 | .phys_pkg_id = default_phys_pkg_id, | ||
86 | .mps_oem_check = NULL, | ||
87 | |||
88 | .get_apic_id = default_get_apic_id, | ||
89 | .set_apic_id = NULL, | ||
90 | .apic_id_mask = 0x0F << 24, | ||
91 | |||
92 | .cpu_mask_to_apicid = default_cpu_mask_to_apicid, | ||
93 | .cpu_mask_to_apicid_and = default_cpu_mask_to_apicid_and, | ||
94 | |||
95 | .send_IPI_mask = default_send_IPI_mask, | ||
96 | .send_IPI_mask_allbutself = NULL, | ||
97 | .send_IPI_allbutself = default_send_IPI_allbutself, | ||
98 | .send_IPI_all = default_send_IPI_all, | ||
99 | .send_IPI_self = NULL, | ||
100 | |||
101 | .wakeup_cpu = NULL, | ||
102 | .trampoline_phys_low = DEFAULT_TRAMPOLINE_PHYS_LOW, | ||
103 | .trampoline_phys_high = DEFAULT_TRAMPOLINE_PHYS_HIGH, | ||
104 | |||
105 | .wait_for_init_deassert = default_wait_for_init_deassert, | ||
106 | |||
107 | .smp_callin_clear_local_apic = NULL, | ||
108 | .store_NMI_vector = NULL, | ||
109 | .inquire_remote_apic = default_inquire_remote_apic, | ||
110 | }; | ||
111 | |||
20 | extern struct genapic apic_numaq; | 112 | extern struct genapic apic_numaq; |
21 | extern struct genapic apic_summit; | 113 | extern struct genapic apic_summit; |
22 | extern struct genapic apic_bigsmp; | 114 | extern struct genapic apic_bigsmp; |
diff --git a/arch/x86/mach-generic/Makefile b/arch/x86/mach-generic/Makefile deleted file mode 100644 index 05e4a7ca7742..000000000000 --- a/arch/x86/mach-generic/Makefile +++ /dev/null | |||
@@ -1,7 +0,0 @@ | |||
1 | # | ||
2 | # Makefile for the generic architecture | ||
3 | # | ||
4 | |||
5 | EXTRA_CFLAGS := -Iarch/x86/kernel | ||
6 | |||
7 | obj-y := probe.o default.o | ||