aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-01-28 13:11:44 -0500
committerIngo Molnar <mingo@elte.hu>2009-01-29 08:16:50 -0500
commit7b38725318f4517af6168ccbff99060d67aba1c8 (patch)
tree043e61f93a24a67ef7ca348924bd740361518ae0
parentd53e2f2855f1c7c2725d550c1ae6b26f4d671c50 (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/Makefile5
-rw-r--r--arch/x86/kernel/Makefile2
-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/Makefile7
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/
113mflags-$(CONFIG_X86_VOYAGER) := -Iarch/x86/include/asm/mach-voyager 113mflags-$(CONFIG_X86_VOYAGER) := -Iarch/x86/include/asm/mach-voyager
114mcore-$(CONFIG_X86_VOYAGER) := arch/x86/mach-voyager/ 114mcore-$(CONFIG_X86_VOYAGER) := arch/x86/mach-voyager/
115 115
116# generic subarchitecture
117mflags-$(CONFIG_X86_GENERICARCH):= -Iarch/x86/include/asm/mach-generic
118fcore-$(CONFIG_X86_GENERICARCH) += arch/x86/mach-generic/
119mcore-$(CONFIG_X86_GENERICARCH) := arch/x86/mach-default/
120
121# default subarch .h files 116# default subarch .h files
122mflags-y += -Iarch/x86/include/asm/mach-default 117mflags-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
30obj-y += time_$(BITS).o ioport.o ldt.o dumpstack.o 30obj-y += time_$(BITS).o ioport.o ldt.o dumpstack.o
31obj-y += setup.o i8259.o irqinit_$(BITS).o 31obj-y += setup.o i8259.o irqinit_$(BITS).o
32obj-$(CONFIG_X86_VISWS) += visws_quirks.o 32obj-$(CONFIG_X86_VISWS) += visws_quirks.o
33obj-$(CONFIG_X86_32) += probe_roms_32.o 33obj-$(CONFIG_X86_32) += probe_32.o probe_roms_32.o
34obj-$(CONFIG_X86_32) += sys_i386_32.o i386_ksyms_32.o 34obj-$(CONFIG_X86_32) += sys_i386_32.o i386_ksyms_32.o
35obj-$(CONFIG_X86_64) += sys_x86_64.o x8664_ksyms_64.o 35obj-$(CONFIG_X86_64) += sys_x86_64.o x8664_ksyms_64.o
36obj-$(CONFIG_X86_64) += syscall_64.o vsyscall_64.o 36obj-$(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
35static 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. */
50static int probe_default(void)
51{
52 return 1;
53}
54
55struct 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
20extern struct genapic apic_numaq; 112extern struct genapic apic_numaq;
21extern struct genapic apic_summit; 113extern struct genapic apic_summit;
22extern struct genapic apic_bigsmp; 114extern 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
5EXTRA_CFLAGS := -Iarch/x86/kernel
6
7obj-y := probe.o default.o