Patches contributed by Eötvös Lorand University
commit 9e111f3e167a14dd6252cff14fc7dd2ba4c650c6
Author: Ingo Molnar <mingo@elte.hu>
Date: Tue Jan 27 18:18:25 2009 +0100
x86: move ELAN to the NON_STANDARD_PLATFORM section
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>
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index b090e5a27dac..b7617e3781a2 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -271,16 +271,6 @@ config X86_PC
help
Choose this option if your computer is a standard PC or compatible.
-config X86_ELAN
- bool "AMD Elan"
- depends on X86_32
- help
- Select this for an AMD Elan processor.
-
- Do not use this option for K6/Athlon/Opteron processors!
-
- If unsure, choose "PC-compatible" instead.
-
config X86_VOYAGER
bool "Voyager (NCR)"
depends on X86_32 && SMP && !PCI && BROKEN
@@ -394,6 +384,17 @@ config X86_UV
This option is needed in order to support SGI Ultraviolet systems.
If you don't have one of these, you should say N here.
+config X86_ELAN
+ bool "AMD Elan"
+ depends on X86_32
+ depends on X86_NON_STANDARD
+ help
+ Select this for an AMD Elan processor.
+
+ Do not use this option for K6/Athlon/Opteron processors!
+
+ If unsure, choose "PC-compatible" instead.
+
config SCHED_OMIT_FRAME_POINTER
def_bool y
prompt "Single-depth WCHAN output"
commit 06ac8346af04f6a972072f6c5780ba734832ad13
Author: Ingo Molnar <mingo@elte.hu>
Date: Tue Jan 27 18:11:43 2009 +0100
x86: cleanup, introduce CONFIG_NON_STANDARD_PLATFORMS
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>
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 38ed1a6c6d86..b090e5a27dac 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -349,9 +349,23 @@ config X86_VSMP
endchoice
+config X86_NON_STANDARD
+ bool "Support for non-standard x86 platforms"
+ help
+ If you disable this option then the kernel will only support
+ standard PC platforms. (which covers the vast majority of
+ systems out there.)
+
+ If you enable this option then you'll be able to select a number
+ of less common non-PC x86 platforms: VisWS, RDC321, SGI/UV.
+
+ If you have one of these systems, or if you want to build a
+ generic distribution kernel, say Y here - otherwise say N.
+
config X86_VISWS
bool "SGI 320/540 (Visual Workstation)"
depends on X86_32 && PCI && X86_MPPARSE && PCI_GODIRECT
+ depends on X86_NON_STANDARD
help
The SGI Visual Workstation series is an IA32-based workstation
based on SGI systems chips with some legacy PC hardware attached.
@@ -364,6 +378,7 @@ config X86_VISWS
config X86_RDC321X
bool "RDC R-321x SoC"
depends on X86_32
+ depends on X86_NON_STANDARD
select M486
select X86_REBOOTFIXUPS
help
@@ -374,6 +389,7 @@ config X86_RDC321X
config X86_UV
bool "SGI Ultraviolet"
depends on X86_64
+ depends on X86_NON_STANDARD
help
This option is needed in order to support SGI Ultraviolet systems.
If you don't have one of these, you should say N here.
commit 1ec2dafd937c0f6fed46cbd8f6878f2c1db4a623
Author: Ingo Molnar <mingo@elte.hu>
Date: Tue Jan 27 17:51:37 2009 +0100
x86/Voyager: remove ISA quirk
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>
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index f95c3b40e45d..38ed1a6c6d86 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1819,7 +1819,6 @@ if X86_32
config ISA
bool "ISA support"
- depends on !X86_VOYAGER
help
Find out whether you have ISA slots on your motherboard. ISA is the
name of a bus system, i.e. the way the CPU talks to the other stuff
commit 1c61d8c309a4080980474de8c6689527be180782
Author: Ingo Molnar <mingo@elte.hu>
Date: Tue Jan 27 17:49:22 2009 +0100
x86/Voyager: remove power management Kconfig quirk
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>
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 206645ac6f6a..f95c3b40e45d 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1551,7 +1551,6 @@ config HAVE_ARCH_EARLY_PFN_TO_NID
depends on NUMA
menu "Power management and ACPI options"
- depends on !X86_VOYAGER
config ARCH_HIBERNATION_HEADER
def_bool y
commit 4b19ed915576e8034c3653b4b10b79bde10f69fa
Author: Ingo Molnar <mingo@elte.hu>
Date: Tue Jan 27 17:47:24 2009 +0100
x86/Voyager: remove HOTPLUG_CPU Kconfig quirk
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>
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 7cf9f0a8c8c3..206645ac6f6a 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1470,7 +1470,7 @@ config PHYSICAL_ALIGN
config HOTPLUG_CPU
bool "Support for hot-pluggable CPUs"
- depends on SMP && HOTPLUG && !X86_VOYAGER
+ depends on SMP && HOTPLUG
---help---
Say Y here to allow turning CPUs off and on. CPUs can be
controlled through /sys/devices/system/cpu.
commit e006235e5b9cfb785ecbc05551788e33f96ea0ce
Author: Ingo Molnar <mingo@elte.hu>
Date: Tue Jan 27 17:45:17 2009 +0100
x86/Voyager: remove MCE quirk
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>
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 6fbb3639d7bb..7cf9f0a8c8c3 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -703,7 +703,6 @@ config X86_REROUTE_FOR_BROKEN_BOOT_IRQS
config X86_MCE
bool "Machine Check Exception"
- depends on !X86_VOYAGER
---help---
Machine Check Exception support allows the processor to notify the
kernel if it detects a problem (e.g. overheating, component failure).
commit 7cd92366a593246650cc7d6198e2c7d3af8c1d8a
Author: Ingo Molnar <mingo@elte.hu>
Date: Tue Jan 27 17:40:48 2009 +0100
x86/Voyager: remove APIC/IO-APIC Kbuild quirk
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>
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 82105349612d..6fbb3639d7bb 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -642,7 +642,7 @@ source "kernel/Kconfig.preempt"
config X86_UP_APIC
bool "Local APIC support on uniprocessors"
- depends on X86_32 && !SMP && !(X86_VOYAGER || X86_GENERICARCH)
+ depends on X86_32 && !SMP && !X86_GENERICARCH
help
A local APIC (Advanced Programmable Interrupt Controller) is an
integrated interrupt controller in the CPU. If you have a single-CPU
@@ -667,11 +667,11 @@ config X86_UP_IOAPIC
config X86_LOCAL_APIC
def_bool y
- depends on X86_64 || (X86_32 && (X86_UP_APIC || (SMP && !X86_VOYAGER) || X86_GENERICARCH))
+ depends on X86_64 || SMP || X86_GENERICARCH || X86_UP_APIC
config X86_IO_APIC
def_bool y
- depends on X86_64 || (X86_32 && (X86_UP_IOAPIC || (SMP && !X86_VOYAGER) || X86_GENERICARCH))
+ depends on X86_64 || SMP || X86_GENERICARCH || X86_UP_APIC
config X86_VISWS_APIC
def_bool y
commit c3e6a2042fef33b747d2ae3961f5312af801973d
Author: Ingo Molnar <mingo@elte.hu>
Date: Tue Jan 27 17:38:46 2009 +0100
x86/Voyager: remove PARAVIRT Kconfig quirk
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>
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 363111f40f34..82105349612d 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -434,7 +434,6 @@ source "arch/x86/lguest/Kconfig"
config PARAVIRT
bool "Enable paravirtualization code"
- depends on !X86_VOYAGER
help
This changes the kernel so it can modify itself when it is run
under a hypervisor, potentially improving performance significantly
commit 54523edd237b9e792a3b76988fde23a91d739f43
Author: Ingo Molnar <mingo@elte.hu>
Date: Tue Jan 27 17:37:33 2009 +0100
x86/Voyager: remove KVM_GUEST quirk
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>
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 0bf0653969dd..363111f40f34 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -426,7 +426,6 @@ config KVM_CLOCK
config KVM_GUEST
bool "KVM Guest support"
select PARAVIRT
- depends on !X86_VOYAGER
help
This option enables various optimizations for running under the KVM
hypervisor.
commit e084e531000a488d2d27864266c13ac824575a8b
Author: Ingo Molnar <mingo@elte.hu>
Date: Tue Jan 27 17:36:31 2009 +0100
x86/Voyager: remove KVM_CLOCK quirk
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>
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 4bd0c8febae9..0bf0653969dd 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -416,7 +416,6 @@ config KVM_CLOCK
bool "KVM paravirtualized clock"
select PARAVIRT
select PARAVIRT_CLOCK
- depends on !X86_VOYAGER
help
Turning on this option will allow you to run a paravirtualized clock
when running over the KVM hypervisor. Instead of relying on a PIT