summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel
Commit message (Collapse)AuthorAgeFilesLines
* x86: seperate default_send_IPI_mask_sequence/allbutself from logicalYinghai Lu2009-01-307-158/+17
| | | | | | | | | | | | | | | Impact: 32-bit should use logical version there are two version: for default_send_IPI_mask_sequence/allbutself one in ipi.h and one in ipi.c for 32bit it seems .h version overwrote ipi.c for a while. restore it so 32 bit could use its old logical version. also remove dupicated functions in .c Signed-off-by: Yinghai Lu <yinghai@kernel.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: fix compiling with 64bit with def_to_bigsmpYinghai Lu2009-01-301-1/+1
| | | | | | | only need to do cut off with 32bit Signed-off-by: Yinghai Lu <yinghai@kernel.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: allow more than 8 cpus to be used on 32-bitYinghai Lu2009-01-301-1/+1
| | | | | | | | | | | X86_PC is the only remaining 'sub' architecture, so we dont need it anymore. This also cleans up a few spurious references to X86_PC in the driver space - those certainly should be X86. Signed-off-by: Yinghai Lu <yinghai@kernel.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: unify genapic code, unify subarchitectures, remove old subarchitecture ↵Suresh Siddha2009-01-291-1/+1
| | | | | | | | | code, xapic fix xapic fix for 32bit platform with less than 8 cpu's. Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: rename X86_GENERICARCH to X86_32_NON_STANDARDIngo Molnar2009-01-294-4/+4
| | | | | | | | | X86_GENERICARCH is a misnomer - it contains non-PC 32-bit architectures that are not included in the default build. Rename it to X86_32_NON_STANDARD. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86/Voyager: remove X86_FIND_SMP_CONFIG Kconfig quirkIngo Molnar2009-01-291-2/+1
| | | | | | | | | | | | | | | x86/Voyager had this Kconfig quirk: config X86_FIND_SMP_CONFIG def_bool y depends on X86_MPPARSE || X86_VOYAGER Which splits off the find_smp_config() callback into a build-time quirk. Voyager should use the existing x86_quirks.mach_find_smp_config() callback to introduce SMP-config quirks. NUMAQ-32 and VISWS already use this. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86/Voyager: remove X86_BIOS_REBOOT Kconfig quirkIngo Molnar2009-01-291-1/+1
| | | | | | | | | | | | | | Voyager has this Kconfig quirk: config X86_BIOS_REBOOT bool depends on !X86_VOYAGER default y Voyager should use the existing machine_ops.emergency_restart reboot quirk mechanism instead of a build-time quirk. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: generalize boot_cpu_idIngo Molnar2009-01-292-12/+14
| | | | | | | | x86/Voyager can boot on non-zero processors. While that can probably be fixed by properly remapping the physical CPU IDs, keep boot_cpu_id for now for easier transition - and expand it to all of x86. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: replace CONFIG_X86_SMP with CONFIG_SMPIngo Molnar2009-01-297-8/+8
| | | | | | | | | | | | | | | | | The x86/Voyager subarch used to have this distinction between 'x86 SMP support' and 'Voyager SMP support': config X86_SMP bool depends on SMP && ((X86_32 && !X86_VOYAGER) || X86_64) This is a pointless distinction - Voyager can (and already does) use smp_ops to implement various SMP quirks it has - and it can be extended more to cover all the specialities of Voyager. So remove this complication in the Kconfig space. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: remove subarchitecture supportIngo Molnar2009-01-293-18/+164
| | | | | | | | | Remove the 32-bit subarchitecture support code. All subarchitectures but Voyager have been converted. Voyager will be done later or will be removed. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: move mach-default/*.h files to asm/Ingo Molnar2009-01-298-8/+8
| | | | | | | | We are getting rid of subarchitecture support - move the hook files to asm/. (These are now stale and should be replaced with more explicit runtime mechanisms - but the transition is simpler this way.) Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: remove subarchitecture support codeIngo Molnar2009-01-292-1/+249
| | | | | | | | 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>
* x86, smp: remove mach_ipi.hIngo Molnar2009-01-298-8/+5
| | | | | | Move mach_ipi.h definitions into genapic.h. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, bigsmp: consolidate header codeIngo Molnar2009-01-291-4/+159
| | | | | | Move all the asm/bigsmp/*.h definitions into bigsmp_32.c. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, bigsmp: consolidate codeIngo Molnar2009-01-292-0/+114
| | | | | | | | Move all code to arch/x86/kernel/bigsmp_32.c. With this it ceases to rely on any build-time subarch features. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, NUMAQ: Consolidate codeIngo Molnar2009-01-291-0/+278
| | | | | | | | Move all NUMAQ code into arch/x86/kernel/numaq.c. With this it ceases to rely on any build-time subarch features. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, ES7000: Consolidate codeIngo Molnar2009-01-291-0/+428
| | | | | | | | Move all ES7000 code into arch/x86/kernel/es7000_32.c. With this it ceases to rely on any build-time subarch features. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: remove mach_apic.hIngo Molnar2009-01-2915-29/+34
| | | | | | | Spread mach_apic.h definitions into genapic.h. (with some knock-on effects on smp.h and apic.h.) Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, summit: consolidate code, fixIngo Molnar2009-01-292-2/+3
| | | | | | Build fix for !NUMA Summit. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, summit: consolidate codeIngo Molnar2009-01-281-1/+416
| | | | | | | Consolidate all the Summit code into a single file: arch/x86/kernel/summit_32.c. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, smp: refactor ->wake_cpuIngo Molnar2009-01-282-5/+4
| | | | | | - remove macro wrappers Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: remove mach_apicdef.hIngo Molnar2009-01-284-6/+0
| | | | | | Move its definitions into apic.h. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: eliminate asm/mach-*/mach_mpparse.hIngo Molnar2009-01-283-3/+0
| | | | | | Move the definition to mpparse.h. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, smp: eliminate asm/mach-default/mach_wakecpu.hIngo Molnar2009-01-281-1/+0
| | | | | | | Spread mach_wakecpu.h's definitions into apic.h and genapic.h and remove mach_wakecpu.h. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, smp: refactor ->inquire_remote_apic() methodsIngo Molnar2009-01-281-2/+2
| | | | | | | | | | | | | Nothing exciting - a few subarches dont want APIC remote reads to be performed - the others are content with the default method. - extend the generic code to handle NULL methods - clear out dummy methods and replace them with NULL - clean up: remove wrapper macros, etc. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, smp: remove ->restore_NMI_vector()Ingo Molnar2009-01-284-5/+0
| | | | | | | Nothing actually restores the NMI vector - so remove this logic altogether. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, smp: refactor ->store/restore_NMI_vector() methodsIngo Molnar2009-01-281-1/+2
| | | | | | | | | | | | | | Only NUMAQ does something substantial here, because it initializes via NMIs (not via INIT as standard SMP startup) - so it needs to store and restore the NMI vector. - extend the generic code to handle NULL methods - clear out dummy methods and replace them with NULL - clean up: remove wrapper macros, etc. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, smp: refactor ->smp_callin_clear_local_apic() methodsIngo Molnar2009-01-281-1/+2
| | | | | | | | | | | | | | Only NUMAQ does something substantial here, because it initializes via NMIs (not via INIT as standard SMP startup) - so it needs to reset the APIC. - extend the generic code to handle NULL methods - clear out dummy methods and replace them with NULL - clean up: remove wrapper macros, etc. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, smp: refactor ->wait_for_init_deassert()Ingo Molnar2009-01-282-6/+3
| | | | | | | | | | - spread out the namespace on a per APIC driver basis - handle a NULL ->wait_for_init_deassert() as a 'dont wait' default method - remove NUMAQ and Summit handlers Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: set ->trampoline_phys_low/high on 64-bit tooIngo Molnar2009-01-284-10/+10
| | | | | | | | 64-bit x86 has zero for ->trampoline_phys_low/high, but the smpboot code can use these values - so it's better to set them up to their correct values. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, apic: untangle the send_IPI_*() jungleIngo Molnar2009-01-2811-84/+91
| | | | | | | | | | | | | | | | Our send_IPI_*() methods and definitions are a twisted mess: the same symbol is defined to different things depending on .config details, in a non-transparent way. - spread out the quirks into separately named per apic driver methods - prefix the standard PC methods with default_ - get rid of wrapper macro obfuscation - clean up various details Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, apic: refactor ->cpu_mask_to_apicid*()Ingo Molnar2009-01-285-28/+41
| | | | | | | | | | - spread out the namespace on a per driver basis - clean up the functions - get rid of macros Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, apic: refactor ->apic_id_mask & APIC_ID_MASKIngo Molnar2009-01-282-3/+3
| | | | | | | | - spread out the namespace on a per driver basis - get rid of wrapper macros Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, apic: refactor ->get_apic_id() & GET_APIC_ID()Ingo Molnar2009-01-284-11/+12
| | | | | | | | | | - spread out the namespace on a per driver basis - get rid of macro wrappers - small cleanups Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: consolidate the ->mps_oem_check() codeIngo Molnar2009-01-281-1/+1
| | | | | | - spread out the mps_oem_check() namespace on a per APIC driver basis Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, mpparse: call the generic quirk handlers earlyIngo Molnar2009-01-281-10/+1
| | | | | | | | Call all the registered MPS quirk handlers early. These methods scan low RAM typically for specific signatures so are safe to be called early. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, apic: refactor ->phys_pkg_id()Ingo Molnar2009-01-282-7/+7
| | | | | | | | | | | | Refactor the ->phys_pkg_id() methods: - namespace separation - macro wrapper removal - open-coded calls to the methods in the generic code Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, apic: unify phys_pkg_id()Ingo Molnar2009-01-286-28/+11
| | | | | | | | | | - unify the call signature of 64-bit to that of 32-bit - clean up the types all around - clean up namespace contamination Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, es7000: clean up es7000_enable_apic_mode()Ingo Molnar2009-01-281-13/+14
| | | | | | | | | | | - eliminate the needless es7000_enable_apic_mode() complication which was not apparent prior the namespace cleanups - clean up the control flow in es7000_enable_apic_mode() - other cleanups Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: refactor ->enable_apic_mode() subarch methodsIngo Molnar2009-01-281-1/+2
| | | | | | | | | | | Only ES7000 has a real ->enable_apic_mode() method, the other subarchitectures define it but keep it empty. So mark the vector as NULL, extend the generic code to handle NULL -setup_portio_remap() entries and remove all the empty handlers. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: refactor ->check_phys_apicid_present() subarch methodsIngo Molnar2009-01-285-6/+11
| | | | | | | | | - spread out the namespace to per driver methods - extend it to 64-bit as well so that we can use apic->check_phys_apicid_present() unconditionally Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: refactor ->setup_portio_remap() subarch methodsIngo Molnar2009-01-281-1/+2
| | | | | | | | | | | | | | Only NUMAQ has a real ->setup_portio_remap() method, the other subarchitectures define it but keep it empty. So mark the vector as NULL, extend the generic code to handle NULL -setup_portio_remap() entries and remove all the empty handlers. Also move the NUMAQ method from the header file into the apic driver .c file. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, apic: clean up ->apicid_to_cpu_present()Ingo Molnar2009-01-282-3/+3
| | | | | | | | - separate the namespace - remove macros Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, apic: clean up ->cpu_present_to_apicid()Ingo Molnar2009-01-285-6/+13
| | | | | | | | - separate the namespace - remove macros Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, apic: clean up ->cpu_to_logical_apicid()Ingo Molnar2009-01-281-2/+2
| | | | | | | | - separate the namespace - remove macros Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, apic: clean up ->apicid_to_node()Ingo Molnar2009-01-281-1/+1
| | | | | | | | - separate the namespace - remove macros Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, apic: streamline the ->multi_timer_check() quirkIngo Molnar2009-01-281-3/+8
| | | | | | | | | | | | only NUMAQ uses this quirk: to prevent the timer IRQ from being added on secondary nodes. All other genapic templates can have a NULL ->multi_timer_check() callback. Also, extend the generic code to treat a NULL pointer accordingly. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, apic: clean up ->setup_apic_routing()Ingo Molnar2009-01-285-9/+8
| | | | | | | | | | - separate the namespace - remove macros - remove namespace clash on 64-bit Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, apic: clean up ->ioapic_phys_id_map()Ingo Molnar2009-01-281-2/+2
| | | | | | | | - separate the namespace - remove macros Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, apic: clean up ->init_apic_ldr()Ingo Molnar2009-01-281-1/+1
| | | | | | | | - separate the namespace - remove macros Signed-off-by: Ingo Molnar <mingo@elte.hu>