Subject: Fix xen configuration.
From: jbeulich@novell.com
Patch-mainline: n/a

--- head-2011-02-17.orig/arch/x86/Kconfig	2011-01-31 14:42:03.000000000 +0100
+++ head-2011-02-17/arch/x86/Kconfig	2011-01-31 17:01:38.000000000 +0100
@@ -181,6 +181,7 @@ config HAVE_CPUMASK_OF_CPU_MAP
 
 config ARCH_HIBERNATION_POSSIBLE
 	def_bool y
+	depends on !XEN
 
 config ARCH_SUSPEND_POSSIBLE
 	def_bool y
--- head-2011-02-17.orig/arch/x86/Kconfig.cpu	2011-01-31 14:42:03.000000000 +0100
+++ head-2011-02-17/arch/x86/Kconfig.cpu	2011-03-03 17:48:58.000000000 +0100
@@ -8,7 +8,7 @@ choice
 
 config M386
 	bool "386"
-	depends on X86_32 && !UML
+	depends on X86_32 && !UML && !XEN
 	---help---
 	  This is the processor type of your CPU. This information is used for
 	  optimizing purposes. In order to compile a kernel that can run on
@@ -49,7 +49,7 @@ config M386
 
 config M486
 	bool "486"
-	depends on X86_32
+	depends on X86_32 && !XEN
 	---help---
 	  Select this for a 486 series processor, either Intel or one of the
 	  compatible processors from AMD, Cyrix, IBM, or Intel.  Includes DX,
@@ -58,7 +58,7 @@ config M486
 
 config M586
 	bool "586/K5/5x86/6x86/6x86MX"
-	depends on X86_32
+	depends on X86_32 && !XEN
 	---help---
 	  Select this for an 586 or 686 series processor such as the AMD K5,
 	  the Cyrix 5x86, 6x86 and 6x86MX.  This choice does not
@@ -66,14 +66,14 @@ config M586
 
 config M586TSC
 	bool "Pentium-Classic"
-	depends on X86_32
+	depends on X86_32 && !XEN
 	---help---
 	  Select this for a Pentium Classic processor with the RDTSC (Read
 	  Time Stamp Counter) instruction for benchmarking.
 
 config M586MMX
 	bool "Pentium-MMX"
-	depends on X86_32
+	depends on X86_32 && !XEN
 	---help---
 	  Select this for a Pentium with the MMX graphics/multimedia
 	  extended instructions.
@@ -339,7 +339,7 @@ config X86_PPRO_FENCE
 
 config X86_F00F_BUG
 	def_bool y
-	depends on (M586MMX || M586TSC || M586 || M486 || M386) && !X86_NO_IDT
+	depends on M586MMX || M586TSC || M586 || M486 || M386
 
 config X86_INVD_BUG
 	def_bool y
--- head-2011-02-17.orig/drivers/xen/Kconfig	2011-01-31 14:42:03.000000000 +0100
+++ head-2011-02-17/drivers/xen/Kconfig	2011-02-24 14:05:09.000000000 +0100
@@ -22,6 +22,7 @@ config XEN_PRIVILEGED_GUEST
 
 config XEN_UNPRIVILEGED_GUEST
 	def_bool !XEN_PRIVILEGED_GUEST
+	select PM
 
 config XEN_PRIVCMD
 	def_bool y
@@ -44,7 +45,7 @@ config XEN_BACKEND
 
 config XEN_BLKDEV_BACKEND
 	tristate "Block-device backend driver"
-        depends on XEN_BACKEND
+	depends on BLOCK && XEN_BACKEND
 	default XEN_BACKEND
 	help
 	  The block-device backend driver allows the kernel to export its
@@ -53,7 +54,7 @@ config XEN_BLKDEV_BACKEND
 
 config XEN_BLKDEV_TAP
 	tristate "Block-device tap backend driver"
-	depends on XEN_BACKEND
+	depends on BLOCK && XEN_BACKEND
 	default XEN_BACKEND
 	help
 	  The block tap driver is an alternative to the block back driver
@@ -65,7 +66,7 @@ config XEN_BLKDEV_TAP
 
 config XEN_BLKDEV_TAP2
 	tristate "Block-device tap backend driver 2"
-	depends on XEN_BACKEND
+	depends on BLOCK && XEN_BACKEND
 	default XEN_BACKEND
 	help
 	  The block tap driver is an alternative to the block back driver
@@ -116,7 +117,7 @@ config XEN_NETDEV_LOOPBACK
 
 config XEN_PCIDEV_BACKEND
 	tristate "PCI-device backend driver"
-	depends on PCI && XEN_BACKEND
+	depends on PCI && XEN_PRIVILEGED_GUEST && XEN_BACKEND
 	default XEN_BACKEND
 	help
 	  The PCI device backend driver allows the kernel to export arbitrary
@@ -127,8 +128,8 @@ config XEN_PCIDEV_BACKEND
 choice
 	prompt "PCI Backend Mode"
 	depends on XEN_PCIDEV_BACKEND
-	default XEN_PCIDEV_BACKEND_VPCI if !IA64
 	default XEN_PCIDEV_BACKEND_CONTROLLER if IA64
+	default XEN_PCIDEV_BACKEND_VPCI
 
 config XEN_PCIDEV_BACKEND_VPCI
 	bool "Virtual PCI"
