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