summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* smp, generic: introduce arch_disable_smp_support(), build fixIngo Molnar2009-02-051-6/+6
| | | | | | This function should be provided on UP too. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: move default_ipi_xx back to ipi.cYinghai Lu2009-02-053-120/+121
| | | | | | | | | | | | | | | Impact: cleanup only leave _default_ipi_xx etc in .h Beyond the cleanup factor, this saves a bit of code size as well: text data bss dec hex filename 7281931 1630144 1463304 10375379 9e50d3 vmlinux.before 7281753 1630144 1463304 10375201 9e5021 vmlinux.after Signed-off-by: Yinghai Lu <yinghai@kernel.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, apic: explain the purpose of max_physical_apicidIngo Molnar2009-02-051-2/+15
| | | | Signed-off-by: Ingo Molnar <mingo@elte.hu>
* smp, generic: introduce arch_disable_smp_support() instead of ↵Ingo Molnar2009-02-056-20/+24
| | | | | | | | | | | | | | disable_ioapic_setup() Impact: cleanup disable_ioapic_setup() in init/main.c is ugly as the function is x86-specific. The #ifdef inline prototype there is ugly too. Replace it with a generic arch_disable_smp_support() function - which has a weak alias for non-x86 architectures and for non-ioapic x86 builds. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, vm86: clean up invalid_vm86_irq()Ingo Molnar2009-01-311-1/+7
| | | | Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, irq: describe NR_IRQ sizing details, clean upIngo Molnar2009-01-311-9/+23
| | | | | | Impact: cleanup Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, irq_vectors.h: remove needless includesIngo Molnar2009-01-311-14/+8
| | | | | | | Reduce include file dependencies a bit - remove the two headers that are included in irq_vectors.h. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, irq: add IRQ layout commentsIngo Molnar2009-01-311-34/+58
| | | | | | | Describe the layout of x86 trap/exception/IRQ vectors and clean up indentation and other small details. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, irqs, voyager: remove Voyager quirkIngo Molnar2009-01-311-11/+3
| | | | | | Remove a Voyager complication from the generic irq_vectors.h header. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, voyager: move Voyager-specific defines to voyager.hIngo Molnar2009-01-313-45/+42
| | | | | | They dont belong into the generic headers. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, apic: clean up spurious vector sanity checkIngo Molnar2009-01-312-7/+7
| | | | | | | Move the spurious vector sanity check to the place where it's defined - out of a .c file. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, apic: unify the APIC vector enumerationIngo Molnar2009-01-311-23/+12
| | | | | | | Most of the vector layout on 32-bit and 64-bit is identical now, so eliminate the duplicated enumeration of the vectors. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: update copyrightsIngo Molnar2009-01-317-7/+7
| | | | Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, apic: clean up header sectionIngo Molnar2009-01-311-24/+22
| | | | Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, irq: add LOCAL_PERF_VECTORIngo Molnar2009-01-311-0/+5
| | | | | | | | Add a slot for the performance monitoring interrupt. Not yet used by any subsystem - but the hardware has it. (This eases integration with performance monitoring code.) Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86, apic, 32-bit: add self-IPI methodsIngo Molnar2009-01-305-5/+5
| | | | | | | | | Impact: fix rare crash on 32-bit The 32-bit APIC drivers had their send_IPI_self vectors set to NULL, but ioapic_retrigger_irq() depends on it being always set. Fix it. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: don't treat bigsmp as non-standardYinghai Lu2009-01-305-13/+12
| | | | | | | | just like 64 bit switch from flat logical APIC messages to flat physical mode automatically. Signed-off-by: Yinghai Lu <yinghai@kernel.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: seperate default_send_IPI_mask_sequence/allbutself from logicalYinghai Lu2009-01-308-169/+77
| | | | | | | | | | | | | | | 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, apic unification: remove left over filesYinghai Lu2009-01-304-174/+0
| | | | | | | | | Impact: cleanup remove unused files 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-309-16/+10
| | | | | | | | | | | 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/Voyager: move to the X86_32_NON_STANDARD code sectionIngo Molnar2009-01-291-17/+17
| | | | | | | Make Voyager depend on X86_32_NON_STANDARD - it is a non-standard 32-bit SMP architecture. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: rename X86_GENERICARCH to X86_32_NON_STANDARDIngo Molnar2009-01-296-16/+16
| | | | | | | | | 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: remove the subarch menuIngo Molnar2009-01-291-9/+1
| | | | | | Remove the subarch menu and standardize on X86_PC. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: move X86_VSMP from subarch menuIngo Molnar2009-01-291-9/+10
| | | | | | | Move X86_VSMP out of the subarch menu - this way it can be enabled together with standard PC support as well, in the same kernel. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: move non-standard 32-bit platform Kconfig entriesIngo Molnar2009-01-291-45/+43
| | | | | | | | | - make X86_GENERICARCH depend X86_NON_STANDARD - move X86_SUMMIT, X86_ES7000 and X86_BIGSMP out of the subarchitecture menu and under this option Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: move VOYAGER to the NON_STANDARD_PLATFORM sectionIngo Molnar2009-01-291-12/+13
| | | | | | | Move X86_ELAN (old, NCR hw platform built on Intel CPUs) from the subarchitecture menu to the non-standard-platform section. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: move ELAN to the NON_STANDARD_PLATFORM sectionIngo Molnar2009-01-291-10/+11
| | | | | | | Move X86_ELAN (old, AMD based web-boxes) from the subarchitecture menu to the non-standard-platform section. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: cleanup, introduce CONFIG_NON_STANDARD_PLATFORMSIngo Molnar2009-01-291-0/+16
| | | | | | | | Introduce a Y/N Kconfig option for non-PC x86 platforms. Make VisWS, RDC321 and SGI/UV depend on this. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86/Voyager: remove ISA quirkIngo Molnar2009-01-291-1/+0
| | | | | | | | | | | | | | | | | Voyager has this ISA quirk (because Voyager has no ISA support): config ISA bool "ISA support" depends on !X86_VOYAGER There's a ton of x86 hardware that does not support ISA, and because most ISA drivers cannot auto-detect in a safe way, the convention in the kernel has always been to not enable ISA drivers if they are not needed. Voyager users can do likewise - no need for a Kconfig quirk. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86/Voyager: remove power management Kconfig quirkIngo Molnar2009-01-291-1/+0
| | | | | | | | | | | | | | | Voyager has this PM/ACPI Kconfig quirk: menu "Power management and ACPI options" depends on !X86_VOYAGER Most of the PM features are auto-detect so they should be safe to run on just about any hardware. (If not, those instances need fixing.) In any case, if a kernel is built for Voyager, the power management options can be disabled. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86/Voyager: remove HOTPLUG_CPU Kconfig quirkIngo Molnar2009-01-291-1/+1
| | | | | | | | | | | | | Voyager has this Kconfig quirk: config HOTPLUG_CPU bool "Support for hot-pluggable CPUs" depends on SMP && HOTPLUG && !X86_VOYAGER But this exception will be moot once Voyager starts using the generic x86 code. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86/Voyager: remove MCE quirkIngo Molnar2009-01-291-1/+0
| | | | | | | | | | If no MCE code is desired on Voyager hw then the solution is to turn them off in the .config - and to extend the MCE code to not initialize on Voyager. Remove the build-time quirk. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86/Voyager: remove APIC/IO-APIC Kbuild quirkIngo Molnar2009-01-291-3/+3
| | | | | | | The lapic/ioapic code properly auto-detects and is safe to run on CPUs that have no local APIC. (or which have their lapic turned off in the hardware) Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86/Voyager: remove PARAVIRT Kconfig quirkIngo Molnar2009-01-291-1/+0
| | | | | | | | | | | | | Remove this Kconfig quirk: config PARAVIRT bool "Enable paravirtualization code" depends on !X86_VOYAGER help Voyager support built into a kernel does not preclude paravirt support. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86/Voyager: remove KVM_GUEST quirkIngo Molnar2009-01-291-1/+0
| | | | | | | | | | | | | | Voyager has this quirk currently: config KVM_GUEST bool "KVM Guest support" select PARAVIRT depends on !X86_VOYAGER Voyager support built into a kernel image does not exclude KVM paravirt guest support - so remove this quirk. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86/Voyager: remove KVM_CLOCK quirkIngo Molnar2009-01-291-1/+0
| | | | | | | | | | | | | | Voyager has this build-time quirk to exclude KVM_CLOCK: bool "KVM paravirtualized clock" select PARAVIRT select PARAVIRT_CLOCK depends on !X86_VOYAGER Voyager support built into a kernel image does not exclude KVM paravirt clock support - so remove this quirk. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86/Voyager: remove VMI Kconfig quirkIngo Molnar2009-01-291-1/+0
| | | | | | | | | | | | | | x86/Voyager has this build-time quirk: bool "VMI Guest support" select PARAVIRT depends on X86_32 depends on !X86_VOYAGER Since VMI is auto-detected (and Voyager will be auto-detected) there's no reason for this quirk. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86/VisWS: remove Kconfig quirkIngo Molnar2009-01-291-1/+1
| | | | | | | | | | | | VisWS has this quirk currently: config X86_VISWS bool "SGI 320/540 (Visual Workstation)" depends on X86_32 && PCI && !X86_VOYAGER && X86_MPPARSE && PCI_GODIRECT The !Voyager quirk is unnecessary. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86/Voyager: remove X86_FIND_SMP_CONFIG Kconfig quirkIngo Molnar2009-01-293-7/+4
| | | | | | | | | | | | | | | 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-293-11/+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/Voyager: remove X86_HT Kconfig quirkIngo Molnar2009-01-291-1/+0
| | | | | | | | | | | Voyager has this Kconfig quirk: depends on (X86_32 && !X86_VOYAGER) || X86_64 That is unnecessary as HT support is CPUID driven and explicitly enumerated. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: generalize boot_cpu_idIngo Molnar2009-01-294-21/+15
| | | | | | | | 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-2912-18/+13
| | | | | | | | | | | | | | | | | 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/Voyager: remove ARCH_SUSPEND_POSSIBLE Kconfig quirkIngo Molnar2009-01-291-1/+0
| | | | | | | | | | | | | Voyager has this Kconfig quirk for suspend/resume: config ARCH_SUSPEND_POSSIBLE def_bool y depends on !X86_VOYAGER The proper mechanism to not suspend on a piece of hardware to disable CONFIG_SUSPEND. Remove the quirk. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86/Voyager: remove HIBERNATION Kconfig quirkIngo Molnar2009-01-291-1/+1
| | | | | | | | | | | | | Voyager has this hibernation quirk: config ARCH_HIBERNATION_POSSIBLE def_bool y depends on !SMP || !X86_VOYAGER Hibernation is a generic facility provided on all x86 platforms. If it is buggy on Voyager then that bug should be fixed - not worked around. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86/Voyager: remove KGDB Kconfig quirkIngo Molnar2009-01-291-1/+1
| | | | | | | | | | | x86/Voyager has this KGDB quirk: select HAVE_ARCH_KGDB if !X86_VOYAGER This is completely pointless - there's nothing in KGDB that cannot work on Voyager. Remove it. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86/Voyager: remove KVM Kconfig quirkIngo Molnar2009-01-291-1/+1
| | | | | | | | | | Voyager and other subarchitectures have this Kconfig quirk: select HAVE_KVM if ((X86_32 && !X86_VOYAGER && !X86_VISWS && !X86_NUMAQ) || X86_64) This is unnecessary, as KVM cleanly detects based on CPUID capabilities. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86/Voyager: remove NATSEMI Kconfig quirkIngo Molnar2009-01-291-1/+0
| | | | | | | | | | | | x86/Voyager has this quirk for SCx200 support: config SCx200 tristate "NatSemi SCx200 support" depends on !X86_VOYAGER Remove it - Voyager users can disable drivers they dont need. Signed-off-by: Ingo Molnar <mingo@elte.hu>
OpenPOWER on IntegriCloud