]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blame - src/patches/suse-2.6.27.25/patches.xen/xen3-auto-xen-kconfig.diff
Revert "Move xen patchset to new version's subdir."
[people/teissler/ipfire-2.x.git] / src / patches / suse-2.6.27.25 / patches.xen / xen3-auto-xen-kconfig.diff
CommitLineData
8f69975d
BS
1Subject: xen3 xen-kconfig
2From: http://xenbits.xensource.com/linux-2.6.18-xen.hg (tip 728:832aac894efd)
3Patch-mainline: obsolete
4Acked-by: jbeulich@novell.com
5
6--- sle11-2009-06-04.orig/arch/x86/Kconfig 2009-06-04 10:17:50.000000000 +0200
7+++ sle11-2009-06-04/arch/x86/Kconfig 2009-06-04 10:18:21.000000000 +0200
8@@ -44,6 +44,7 @@ config GENERIC_LOCKBREAK
9
10 config GENERIC_TIME
11 def_bool y
12+ depends on !X86_XEN
13
14 config GENERIC_CMOS_UPDATE
15 def_bool y
16@@ -191,7 +192,7 @@ config X86_64_SMP
17
18 config X86_HT
19 bool
20- depends on SMP
21+ depends on SMP && !XEN
22 depends on (X86_32 && !X86_VOYAGER) || X86_64
23 default y
24
25@@ -203,6 +204,17 @@ config X86_BIOS_REBOOT
26 config X86_TRAMPOLINE
27 bool
28 depends on X86_SMP || (X86_VOYAGER && SMP) || (64BIT && ACPI_SLEEP)
29+ depends on !XEN
30+ default y
31+
32+config X86_NO_TSS
33+ bool
34+ depends on X86_XEN || X86_64_XEN
35+ default y
36+
37+config X86_NO_IDT
38+ bool
39+ depends on X86_XEN || X86_64_XEN
40 default y
41
42 config KTIME_SCALAR
43@@ -271,6 +283,17 @@ config X86_PC
44 help
45 Choose this option if your computer is a standard PC or compatible.
46
47+config X86_XEN
48+ bool "Xen-compatible"
49+ select XEN
50+ select X86_PAE
51+ select X86_UP_APIC if !SMP && XEN_PRIVILEGED_GUEST
52+ select X86_UP_IOAPIC if !SMP && XEN_PRIVILEGED_GUEST
53+ select SWIOTLB
54+ help
55+ Choose this option if you plan to run this kernel on top of the
56+ Xen Hypervisor.
57+
58 config X86_ELAN
59 bool "AMD Elan"
60 depends on X86_32
61@@ -338,6 +361,13 @@ config X86_BIGSMP
62
63 endif
64
65+config X86_64_XEN
66+ bool "Enable Xen compatible kernel"
67+ select XEN
68+ select SWIOTLB
69+ help
70+ This option will compile a kernel compatible with Xen hypervisor
71+
72 config X86_VSMP
73 bool "Support for ScaleMP vSMP"
74 select PARAVIRT
75@@ -478,6 +508,7 @@ source "arch/x86/Kconfig.cpu"
76 config HPET_TIMER
77 def_bool X86_64
78 prompt "HPET Timer Support" if X86_32
79+ depends on !X86_XEN && !X86_64_XEN
80 help
81 Use the IA-PC HPET (High Precision Event Timer) to manage
82 time in preference to the PIT and RTC, if a HPET is
83@@ -514,7 +545,7 @@ config GART_IOMMU
84 default y
85 select SWIOTLB
86 select AGP
87- depends on X86_64 && PCI
88+ depends on X86_64 && PCI && !X86_64_XEN
89 help
90 Support for full DMA access of devices with 32bit memory access only
91 on systems with more than 3GB. This is usually needed for USB,
92@@ -529,7 +560,7 @@ config GART_IOMMU
93 config CALGARY_IOMMU
94 bool "IBM Calgary IOMMU support"
95 select SWIOTLB
96- depends on X86_64 && PCI && EXPERIMENTAL
97+ depends on X86_64 && PCI && !X86_64_XEN && EXPERIMENTAL
98 help
99 Support for hardware IOMMUs in IBM's xSeries x366 and x460
100 systems. Needed to run systems with more than 3GB of memory
101@@ -597,6 +628,7 @@ config NR_CPUS
102 depends on SMP
103 default "4096" if MAXSMP
104 default "32" if X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || X86_ES7000
105+ default "16" if X86_64_XEN
106 default "8"
107 help
108 This allows you to specify the maximum number of CPUs which this
109@@ -652,7 +684,7 @@ config X86_REROUTE_FOR_BROKEN_BOOT_IRQS
110
111 config X86_UP_APIC
112 bool "Local APIC support on uniprocessors"
113- depends on X86_32 && !SMP && !(X86_VOYAGER || X86_GENERICARCH)
114+ depends on X86_32 && !SMP && !(X86_VOYAGER || X86_GENERICARCH || XEN_UNPRIVILEGED_GUEST)
115 help
116 A local APIC (Advanced Programmable Interrupt Controller) is an
117 integrated interrupt controller in the CPU. If you have a single-CPU
118@@ -678,18 +710,25 @@ config X86_UP_IOAPIC
119 config X86_LOCAL_APIC
120 def_bool y
121 depends on X86_64 || (X86_32 && (X86_UP_APIC || (SMP && !X86_VOYAGER) || X86_GENERICARCH))
122+ depends on !XEN_UNPRIVILEGED_GUEST
123
124 config X86_IO_APIC
125 def_bool y
126 depends on X86_64 || (X86_32 && (X86_UP_IOAPIC || (SMP && !X86_VOYAGER) || X86_GENERICARCH))
127+ depends on !XEN_UNPRIVILEGED_GUEST
128
129 config X86_VISWS_APIC
130 def_bool y
131 depends on X86_32 && X86_VISWS
132
133+config X86_XEN_GENAPIC
134+ bool
135+ depends on X86_64_XEN
136+ default y
137+
138 config X86_MCE
139 bool "Machine Check Exception"
140- depends on !X86_VOYAGER
141+ depends on !(X86_VOYAGER || XEN)
142 ---help---
143 Machine Check Exception support allows the processor to notify the
144 kernel if it detects a problem (e.g. overheating, component failure).
145@@ -789,7 +828,7 @@ config I8K
146 config X86_REBOOTFIXUPS
147 def_bool n
148 prompt "Enable X86 board specific fixups for reboot"
149- depends on X86_32 && X86
150+ depends on X86_32 && !X86_XEN
151 ---help---
152 This enables chipset and/or board specific fixups to be done
153 in order to get reboot to work correctly. This is only needed on
154@@ -806,6 +845,7 @@ config X86_REBOOTFIXUPS
155
156 config MICROCODE
157 tristate "/dev/cpu/microcode - Intel IA32 CPU microcode support"
158+ depends on !XEN_UNPRIVILEGED_GUEST
159 select FW_LOADER
160 ---help---
161 If you say Y here, you will be able to update the microcode on
162@@ -973,7 +1013,7 @@ config DIRECT_GBPAGES
163 # Common NUMA Features
164 config NUMA
165 bool "Numa Memory Allocation and Scheduler Support (EXPERIMENTAL)"
166- depends on SMP
167+ depends on SMP && !XEN
168 depends on X86_64 || (X86_32 && HIGHMEM64G && (X86_NUMAQ || X86_BIGSMP || X86_SUMMIT && ACPI) && EXPERIMENTAL)
169 default n if X86_PC
170 default y if (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP)
171@@ -1075,7 +1115,7 @@ config ARCH_SPARSEMEM_DEFAULT
172
173 config ARCH_SPARSEMEM_ENABLE
174 def_bool y
175- depends on X86_64 || NUMA || (EXPERIMENTAL && X86_PC)
176+ depends on (X86_64 && !X86_64_XEN) || NUMA || (EXPERIMENTAL && X86_PC)
177 select SPARSEMEM_STATIC if X86_32
178 select SPARSEMEM_VMEMMAP_ENABLE if X86_64
179
180@@ -1121,6 +1161,7 @@ config X86_RESERVE_LOW_64K
181 config MATH_EMULATION
182 bool
183 prompt "Math emulation" if X86_32
184+ depends on !X86_XEN
185 ---help---
186 Linux can emulate a math coprocessor (used for floating point
187 operations) if you don't have one. 486DX and Pentium processors have
188@@ -1146,6 +1187,7 @@ config MATH_EMULATION
189
190 config MTRR
191 bool "MTRR (Memory Type Range Register) support"
192+ depends on !XEN_UNPRIVILEGED_GUEST
193 ---help---
194 On Intel P6 family processors (Pentium Pro, Pentium II and later)
195 the Memory Type Range Registers (MTRRs) may be used to control
196@@ -1227,7 +1269,7 @@ config X86_PAT
197 config EFI
198 def_bool n
199 prompt "EFI runtime service support"
200- depends on ACPI
201+ depends on ACPI && !X86_XEN && !X86_64_XEN
202 ---help---
203 This enables the kernel to use EFI runtime services that are
204 available (such as the EFI variable services).
205@@ -1242,7 +1284,7 @@ config EFI
206 config IRQBALANCE
207 def_bool y
208 prompt "Enable kernel irq balancing"
209- depends on X86_32 && SMP && X86_IO_APIC
210+ depends on X86_32 && SMP && X86_IO_APIC && !X86_XEN
211 help
212 The default yes will allow the kernel to do irq load balancing.
213 Saying no will keep the kernel from doing irq load balancing.
214@@ -1305,6 +1347,7 @@ source kernel/Kconfig.hz
215 config KEXEC
216 bool "kexec system call"
217 depends on X86_BIOS_REBOOT
218+ depends on !XEN_UNPRIVILEGED_GUEST
219 help
220 kexec is a system call that implements the ability to shutdown your
221 current kernel, and to start another kernel. It is like a reboot
222@@ -1322,6 +1365,7 @@ config KEXEC
223 config CRASH_DUMP
224 bool "kernel crash dumps"
225 depends on X86_64 || (X86_32 && HIGHMEM)
226+ depends on !XEN
227 help
228 Generate crash dump after being started by kexec.
229 This should be normally only set in special crash dump kernels
230@@ -1440,6 +1484,7 @@ config COMPAT_VDSO
231 def_bool y
232 prompt "Compat VDSO support"
233 depends on X86_32 || IA32_EMULATION
234+ depends on !X86_XEN
235 help
236 Map the 32-bit VDSO to the predictable old-style address too.
237 ---help---
238@@ -1462,7 +1507,7 @@ config HAVE_ARCH_EARLY_PFN_TO_NID
239 depends on NUMA
240
241 menu "Power management options"
242- depends on !X86_VOYAGER
243+ depends on !(X86_VOYAGER || XEN_UNPRIVILEGED_GUEST)
244
245 config ARCH_HIBERNATION_HEADER
246 def_bool y
247@@ -1479,7 +1524,7 @@ config X86_APM_BOOT
248
249 menuconfig APM
250 tristate "APM (Advanced Power Management) BIOS support"
251- depends on X86_32 && PM_SLEEP
252+ depends on X86_32 && PM_SLEEP && !XEN
253 ---help---
254 APM is a BIOS specification for saving power using several different
255 techniques. This is mostly useful for battery powered laptops with
256@@ -1645,6 +1690,7 @@ choice
257
258 config PCI_GOBIOS
259 bool "BIOS"
260+ depends on !X86_XEN
261
262 config PCI_GOMMCONFIG
263 bool "MMConfig"
264@@ -1656,6 +1702,13 @@ config PCI_GOOLPC
265 bool "OLPC"
266 depends on OLPC
267
268+config PCI_GOXEN_FE
269+ bool "Xen PCI Frontend"
270+ depends on X86_XEN
271+ help
272+ The PCI device frontend driver allows the kernel to import arbitrary
273+ PCI devices from a PCI backend to support PCI driver domains.
274+
275 config PCI_GOANY
276 bool "Any"
277
278@@ -1663,7 +1716,7 @@ endchoice
279
280 config PCI_BIOS
281 def_bool y
282- depends on X86_32 && PCI && (PCI_GOBIOS || PCI_GOANY)
283+ depends on X86_32 && PCI && !XEN && (PCI_GOBIOS || PCI_GOANY)
284
285 # x86-64 doesn't support PCI BIOS access from long mode so always go direct.
286 config PCI_DIRECT
287@@ -1686,6 +1739,22 @@ config PCI_MMCONFIG
288 bool "Support mmconfig PCI config space access"
289 depends on X86_64 && PCI && ACPI
290
291+config XEN_PCIDEV_FRONTEND
292+ bool "Xen PCI Frontend" if X86_64
293+ depends on PCI && ((X86_XEN && (PCI_GOXEN_FE || PCI_GOANY)) || X86_64_XEN)
294+ select HOTPLUG
295+ default y
296+ help
297+ The PCI device frontend driver allows the kernel to import arbitrary
298+ PCI devices from a PCI backend to support PCI driver domains.
299+
300+config XEN_PCIDEV_FE_DEBUG
301+ bool "Xen PCI Frontend Debugging"
302+ depends on XEN_PCIDEV_FRONTEND
303+ default n
304+ help
305+ Enables some debug statements within the PCI Frontend.
306+
307 config DMAR
308 bool "Support for DMA Remapping Devices (EXPERIMENTAL)"
309 depends on X86_64 && PCI_MSI && ACPI && EXPERIMENTAL
310@@ -1736,7 +1805,7 @@ if X86_32
311
312 config ISA
313 bool "ISA support"
314- depends on !X86_VOYAGER
315+ depends on !X86_VOYAGER && !XEN
316 help
317 Find out whether you have ISA slots on your motherboard. ISA is the
318 name of a bus system, i.e. the way the CPU talks to the other stuff
319@@ -1763,7 +1832,7 @@ config EISA
320 source "drivers/eisa/Kconfig"
321
322 config MCA
323- bool "MCA support" if !X86_VOYAGER
324+ bool "MCA support" if !X86_VOYAGER && !XEN
325 default y if X86_VOYAGER
326 help
327 MicroChannel Architecture is found in some IBM PS/2 machines and
328@@ -1875,4 +1944,6 @@ source "crypto/Kconfig"
329
330 source "arch/x86/kvm/Kconfig"
331
332+source "drivers/xen/Kconfig"
333+
334 source "lib/Kconfig"
335--- sle11-2009-06-04.orig/arch/x86/Kconfig.cpu 2009-06-04 10:17:50.000000000 +0200
336+++ sle11-2009-06-04/arch/x86/Kconfig.cpu 2009-06-04 10:18:21.000000000 +0200
337@@ -340,7 +340,7 @@ config X86_PPRO_FENCE
338
339 config X86_F00F_BUG
340 def_bool y
341- depends on M586MMX || M586TSC || M586 || M486 || M386
342+ depends on (M586MMX || M586TSC || M586 || M486 || M386) && !X86_NO_IDT
343
344 config X86_WP_WORKS_OK
345 def_bool y
346@@ -397,6 +397,7 @@ config X86_P6_NOP
347 config X86_TSC
348 def_bool y
349 depends on ((MWINCHIP3D || MWINCHIP2 || MCRUSOE || MEFFICEON || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || MK8 || MVIAC3_2 || MVIAC7 || MGEODEGX1 || MGEODE_LX || MCORE2) && !X86_NUMAQ) || X86_64
350+ depends on !XEN
351
352 config X86_CMPXCHG64
353 def_bool y
354--- sle11-2009-06-04.orig/arch/x86/Kconfig.debug 2009-06-04 10:17:50.000000000 +0200
355+++ sle11-2009-06-04/arch/x86/Kconfig.debug 2009-06-04 10:18:21.000000000 +0200
356@@ -143,7 +143,7 @@ config 4KSTACKS
357 config DOUBLEFAULT
358 default y
359 bool "Enable doublefault exception handler" if EMBEDDED
360- depends on X86_32
361+ depends on X86_32 && !X86_NO_TSS
362 help
363 This option allows trapping of rare doublefault exceptions that
364 would otherwise cause a system to silently reboot. Disabling this
365--- sle11-2009-06-04.orig/drivers/acpi/Kconfig 2009-06-04 10:17:50.000000000 +0200
366+++ sle11-2009-06-04/drivers/acpi/Kconfig 2009-06-04 10:18:21.000000000 +0200
367@@ -362,6 +362,7 @@ config ACPI_SYSTEM
368 config X86_PM_TIMER
369 bool "Power Management Timer Support" if EMBEDDED
370 depends on X86
371+ depends on !XEN
372 default y
373 help
374 The Power Management Timer is available on all ACPI-capable,
375@@ -415,4 +416,13 @@ config ACPI_SBS
376 This driver adds support for the Smart Battery System, another
377 type of access to battery information, found on some laptops.
378
379+config ACPI_PV_SLEEP
380+ bool
381+ depends on X86 && XEN && ACPI_SLEEP
382+ default y
383+
384+config PROCESSOR_EXTERNAL_CONTROL
385+ bool
386+ depends on (X86 || IA64) && XEN
387+ default y
388 endif # ACPI
389--- sle11-2009-06-04.orig/drivers/char/Kconfig 2009-06-04 10:17:50.000000000 +0200
390+++ sle11-2009-06-04/drivers/char/Kconfig 2009-06-04 10:18:21.000000000 +0200
391@@ -1037,7 +1037,7 @@ config MAX_RAW_DEVS
392 config HPET
393 bool "HPET - High Precision Event Timer" if (X86 || IA64)
394 default n
395- depends on ACPI
396+ depends on ACPI && !XEN
397 help
398 If you say Y here, you will have a miscdevice named "/dev/hpet/". Each
399 open selects one of the timers supported by the HPET. The timers are
400--- sle11-2009-06-04.orig/drivers/char/tpm/Kconfig 2009-06-04 10:17:50.000000000 +0200
401+++ sle11-2009-06-04/drivers/char/tpm/Kconfig 2009-06-04 10:18:21.000000000 +0200
402@@ -57,4 +57,13 @@ config TCG_INFINEON
403 Further information on this driver and the supported hardware
404 can be found at http://www.prosec.rub.de/tpm
405
406+config TCG_XEN
407+ tristate "XEN TPM Interface"
408+ depends on XEN
409+ ---help---
410+ If you want to make TPM support available to a Xen user domain,
411+ say Yes and it will be accessible from within Linux.
412+ To compile this driver as a module, choose M here; the module
413+ will be called tpm_xenu.
414+
415 endif # TCG_TPM
416--- sle11-2009-06-04.orig/drivers/cpufreq/Kconfig 2009-06-04 10:17:50.000000000 +0200
417+++ sle11-2009-06-04/drivers/cpufreq/Kconfig 2009-06-04 10:18:21.000000000 +0200
418@@ -1,5 +1,6 @@
419 config CPU_FREQ
420 bool "CPU Frequency scaling"
421+ depends on !PROCESSOR_EXTERNAL_CONTROL
422 help
423 CPU Frequency scaling allows you to change the clock speed of
424 CPUs on the fly. This is a nice method to save power, because
425--- sle11-2009-06-04.orig/drivers/serial/Kconfig 2009-06-04 10:17:50.000000000 +0200
426+++ sle11-2009-06-04/drivers/serial/Kconfig 2009-06-04 10:18:21.000000000 +0200
427@@ -10,6 +10,7 @@ menu "Serial drivers"
428 config SERIAL_8250
429 tristate "8250/16550 and compatible serial support"
430 depends on (BROKEN || !SPARC)
431+ depends on !XEN_DISABLE_SERIAL
432 select SERIAL_CORE
433 ---help---
434 This selects whether you want to include the driver for the standard
435--- sle11-2009-06-04.orig/drivers/video/Kconfig 2009-06-04 10:17:50.000000000 +0200
436+++ sle11-2009-06-04/drivers/video/Kconfig 2009-06-04 10:18:21.000000000 +0200
437@@ -1583,7 +1583,7 @@ config FB_CYBLA
438 tristate "Cyberblade/i1 support"
439 depends on FB && PCI && X86_32 && !64BIT
440 select FB_CFB_IMAGEBLIT
441- select VIDEO_SELECT
442+ select VIDEO_SELECT if !XEN
443 ---help---
444 This driver is supposed to support the Trident Cyberblade/i1
445 graphics core integrated in the VIA VT8601A North Bridge,
446--- sle11-2009-06-04.orig/drivers/video/console/Kconfig 2009-06-04 10:17:50.000000000 +0200
447+++ sle11-2009-06-04/drivers/video/console/Kconfig 2009-06-04 10:18:21.000000000 +0200
448@@ -46,6 +46,7 @@ config VGACON_SOFT_SCROLLBACK_SIZE
449 config VIDEO_SELECT
450 bool "Video mode selection support"
451 depends on X86 && VGA_CONSOLE
452+ depends on !XEN
453 ---help---
454 This enables support for text mode selection on kernel startup. If
455 you want to take advantage of some high-resolution text mode your
456--- sle11-2009-06-04.orig/drivers/xen/Kconfig 2009-06-04 10:17:50.000000000 +0200
457+++ sle11-2009-06-04/drivers/xen/Kconfig 2009-06-04 10:18:21.000000000 +0200
458@@ -1,6 +1,307 @@
459+#
460+# This Kconfig describe xen options
461+#
462+
463+mainmenu "Xen Configuration"
464+
465+config XEN
466+ bool
467+
468+if XEN
469+config XEN_INTERFACE_VERSION
470+ hex
471+ default 0x00030207
472+
473+menu "XEN"
474+
475+config XEN_PRIVILEGED_GUEST
476+ bool "Privileged Guest (domain 0)"
477+ select PCI_REASSIGN if PCI
478+ help
479+ Support for privileged operation (domain 0)
480+
481+config XEN_UNPRIVILEGED_GUEST
482+ def_bool !XEN_PRIVILEGED_GUEST
483+
484+config XEN_PRIVCMD
485+ def_bool y
486+ depends on PROC_FS
487+
488+config XEN_XENBUS_DEV
489+ def_bool y
490+ depends on PROC_FS
491+
492+config XEN_NETDEV_ACCEL_SFC_UTIL
493+ depends on X86
494+ tristate
495+
496+config XEN_BACKEND
497+ tristate "Backend driver support"
498+ default XEN_PRIVILEGED_GUEST
499+ help
500+ Support for backend device drivers that provide I/O services
501+ to other virtual machines.
502+
503+config XEN_BLKDEV_BACKEND
504+ tristate "Block-device backend driver"
505+ depends on XEN_BACKEND
506+ default XEN_BACKEND
507+ help
508+ The block-device backend driver allows the kernel to export its
509+ block devices to other guests via a high-performance shared-memory
510+ interface.
511+
512+config XEN_BLKDEV_TAP
513+ tristate "Block-device tap backend driver"
514+ depends on XEN_BACKEND
515+ default XEN_BACKEND
516+ help
517+ The block tap driver is an alternative to the block back driver
518+ and allows VM block requests to be redirected to userspace through
519+ a device interface. The tap allows user-space development of
520+ high-performance block backends, where disk images may be implemented
521+ as files, in memory, or on other hosts across the network. This
522+ driver can safely coexist with the existing blockback driver.
523+
524+config XEN_NETDEV_BACKEND
525+ tristate "Network-device backend driver"
526+ depends on XEN_BACKEND && NET
527+ default XEN_BACKEND
528+ help
529+ The network-device backend driver allows the kernel to export its
530+ network devices to other guests via a high-performance shared-memory
531+ interface.
532+
533+config XEN_NETDEV_PIPELINED_TRANSMITTER
534+ bool "Pipelined transmitter (DANGEROUS)"
535+ depends on XEN_NETDEV_BACKEND
536+ help
537+ If the net backend is a dumb domain, such as a transparent Ethernet
538+ bridge with no local IP interface, it is safe to say Y here to get
539+ slightly lower network overhead.
540+ If the backend has a local IP interface; or may be doing smart things
541+ like reassembling packets to perform firewall filtering; or if you
542+ are unsure; or if you experience network hangs when this option is
543+ enabled; then you must say N here.
544+
545+config XEN_NETDEV_ACCEL_SFC_BACKEND
546+ tristate "Network-device backend driver acceleration for Solarflare NICs"
547+ depends on XEN_NETDEV_BACKEND && SFC && SFC_RESOURCE && X86
548+ select XEN_NETDEV_ACCEL_SFC_UTIL
549+ default m
550+
551+config XEN_NETDEV_LOOPBACK
552+ tristate "Network-device loopback driver"
553+ depends on XEN_NETDEV_BACKEND
554+ help
555+ A two-interface loopback device to emulate a local netfront-netback
556+ connection. If unsure, it is probably safe to say N here.
557+
558+config XEN_PCIDEV_BACKEND
559+ tristate "PCI-device backend driver"
560+ depends on PCI && XEN_BACKEND
561+ default XEN_BACKEND
562+ help
563+ The PCI device backend driver allows the kernel to export arbitrary
564+ PCI devices to other guests. If you select this to be a module, you
565+ will need to make sure no other driver has bound to the device(s)
566+ you want to make visible to other guests.
567+
568+choice
569+ prompt "PCI Backend Mode"
570+ depends on XEN_PCIDEV_BACKEND
571+ default XEN_PCIDEV_BACKEND_VPCI if !IA64
572+ default XEN_PCIDEV_BACKEND_CONTROLLER if IA64
573+
574+config XEN_PCIDEV_BACKEND_VPCI
575+ bool "Virtual PCI"
576+ ---help---
577+ This PCI Backend hides the true PCI topology and makes the frontend
578+ think there is a single PCI bus with only the exported devices on it.
579+ For example, a device at 03:05.0 will be re-assigned to 00:00.0. A
580+ second device at 02:1a.1 will be re-assigned to 00:01.1.
581+
582+config XEN_PCIDEV_BACKEND_PASS
583+ bool "Passthrough"
584+ ---help---
585+ This PCI Backend provides a real view of the PCI topology to the
586+ frontend (for example, a device at 06:01.b will still appear at
587+ 06:01.b to the frontend). This is similar to how Xen 2.0.x exposed
588+ PCI devices to its driver domains. This may be required for drivers
589+ which depend on finding their hardward in certain bus/slot
590+ locations.
591+
592+config XEN_PCIDEV_BACKEND_SLOT
593+ bool "Slot"
594+ ---help---
595+ This PCI Backend hides the true PCI topology and makes the frontend
596+ think there is a single PCI bus with only the exported devices on it.
597+ Contrary to the virtual PCI backend, a function becomes a new slot.
598+ For example, a device at 03:05.2 will be re-assigned to 00:00.0. A
599+ second device at 02:1a.1 will be re-assigned to 00:01.0.
600+
601+config XEN_PCIDEV_BACKEND_CONTROLLER
602+ bool "Controller"
603+ depends on IA64
604+ ---help---
605+ This PCI backend virtualizes the PCI bus topology by providing a
606+ virtual bus per PCI root device. Devices which are physically under
607+ the same root bus will appear on the same virtual bus. For systems
608+ with complex I/O addressing, this is the only backend which supports
609+ extended I/O port spaces and MMIO translation offsets. This backend
610+ also supports slot virtualization. For example, a device at
611+ 0000:01:02.1 will be re-assigned to 0000:00:00.0. A second device
612+ at 0000:02:05.0 (behind a P2P bridge on bus 0000:01) will be
613+ re-assigned to 0000:00:01.0. A third device at 0000:16:05.0 (under
614+ a different PCI root bus) will be re-assigned to 0000:01:00.0.
615+
616+endchoice
617+
618+config XEN_PCIDEV_BE_DEBUG
619+ bool "PCI Backend Debugging"
620+ depends on XEN_PCIDEV_BACKEND
621+
622+config XEN_TPMDEV_BACKEND
623+ tristate "TPM-device backend driver"
624+ depends on XEN_BACKEND
625+ help
626+ The TPM-device backend driver
627+
628+config XEN_SCSI_BACKEND
629+ tristate "SCSI backend driver"
630+ depends on SCSI && XEN_BACKEND
631+ default m
632+ help
633+ The SCSI backend driver allows the kernel to export its SCSI Devices
634+ to other guests via a high-performance shared-memory interface.
635+
636+config XEN_BLKDEV_FRONTEND
637+ tristate "Block-device frontend driver"
638+ default y
639+ help
640+ The block-device frontend driver allows the kernel to access block
641+ devices mounted within another guest OS. Unless you are building a
642+ dedicated device-driver domain, or your master control domain
643+ (domain 0), then you almost certainly want to say Y here.
644+
645+config XEN_NETDEV_FRONTEND
646+ tristate "Network-device frontend driver"
647+ depends on NET
648+ default y
649+ help
650+ The network-device frontend driver allows the kernel to access
651+ network interfaces within another guest OS. Unless you are building a
652+ dedicated device-driver domain, or your master control domain
653+ (domain 0), then you almost certainly want to say Y here.
654+
655+config XEN_NETDEV_ACCEL_SFC_FRONTEND
656+ tristate "Network-device frontend driver acceleration for Solarflare NICs"
657+ depends on XEN_NETDEV_FRONTEND && X86
658+ select XEN_NETDEV_ACCEL_SFC_UTIL
659+ default m
660+
661+config XEN_SCSI_FRONTEND
662+ tristate "SCSI frontend driver"
663+ depends on SCSI
664+ default m
665+ help
666+ The SCSI frontend driver allows the kernel to access SCSI Devices
667+ within another guest OS.
668+
669+config XEN_GRANT_DEV
670+ tristate "User-space granted page access driver"
671+ default XEN_PRIVILEGED_GUEST
672+ help
673+ Device for accessing (in user-space) pages that have been granted
674+ by other domains.
675+
676+config XEN_FRAMEBUFFER
677+ tristate "Framebuffer-device frontend driver"
678+ depends on FB
679+ select FB_CFB_FILLRECT
680+ select FB_CFB_COPYAREA
681+ select FB_CFB_IMAGEBLIT
682+ default y
683+ help
684+ The framebuffer-device frontend drivers allows the kernel to create a
685+ virtual framebuffer. This framebuffer can be viewed in another
686+ domain. Unless this domain has access to a real video card, you
687+ probably want to say Y here.
688+
689+config XEN_KEYBOARD
690+ tristate "Keyboard-device frontend driver"
691+ depends on XEN_FRAMEBUFFER && INPUT
692+ default y
693+ help
694+ The keyboard-device frontend driver allows the kernel to create a
695+ virtual keyboard. This keyboard can then be driven by another
696+ domain. If you've said Y to CONFIG_XEN_FRAMEBUFFER, you probably
697+ want to say Y here.
698+
699+config XEN_DISABLE_SERIAL
700+ bool "Disable serial port drivers"
701+ default y
702+ help
703+ Disable serial port drivers, allowing the Xen console driver
704+ to provide a serial console at ttyS0.
705+
706+config XEN_SYSFS
707+ tristate "Export Xen attributes in sysfs"
708+ depends on SYSFS
709+ select SYS_HYPERVISOR
710+ default y
711+ help
712+ Xen hypervisor attributes will show up under /sys/hypervisor/.
713+
714+choice
715+ prompt "Xen version compatibility"
716+ default XEN_COMPAT_030002_AND_LATER
717+
718+ config XEN_COMPAT_030002_AND_LATER
719+ bool "3.0.2 and later"
720+
721+ config XEN_COMPAT_030004_AND_LATER
722+ bool "3.0.4 and later"
723+
724+ config XEN_COMPAT_030100_AND_LATER
725+ bool "3.1.0 and later"
726+
727+ config XEN_COMPAT_LATEST_ONLY
728+ bool "no compatibility code"
729+
730+endchoice
731+
732+config XEN_COMPAT
733+ hex
734+ default 0xffffff if XEN_COMPAT_LATEST_ONLY
735+ default 0x030100 if XEN_COMPAT_030100_AND_LATER
736+ default 0x030004 if XEN_COMPAT_030004_AND_LATER
737+ default 0x030002 if XEN_COMPAT_030002_AND_LATER
738+ default 0
739+
740+endmenu
741+
742+config HAVE_IRQ_IGNORE_UNHANDLED
743+ def_bool y
744+
745+config NO_IDLE_HZ
746+ def_bool y
747+
748+config XEN_SMPBOOT
749+ def_bool y
750+ depends on SMP && !PPC_XEN
751+
752+config XEN_XENCOMM
753+ bool
754+
755+config XEN_DEVMEM
756+ def_bool y
757+
758+endif
759+
760 config XEN_BALLOON
761- bool "Xen memory balloon driver"
762- depends on XEN
763+ bool "Xen memory balloon driver" if PARAVIRT_XEN
764+ depends on (XEN && !PPC_XEN) || PARAVIRT_XEN
765 default y
766 help
767 The balloon driver allows the Xen domain to request more memory from
768@@ -8,12 +309,14 @@ config XEN_BALLOON
769 return unneeded memory to the system.
770
771 config XEN_SCRUB_PAGES
772- bool "Scrub pages before returning them to system"
773- depends on XEN_BALLOON
774+ bool "Scrub memory before freeing it to Xen"
775+ depends on XEN || XEN_BALLOON
776 default y
777 help
778- Scrub pages before returning them to the system for reuse by
779- other domains. This makes sure that any confidential data
780- is not accidentally visible to other domains. Is it more
781- secure, but slightly less efficient.
782+ Erase memory contents before freeing it back to Xen's global
783+ pool. This ensures that any secrets contained within that
784+ memory (e.g., private keys) cannot be found by other guests that
785+ may be running on the machine. Most people will want to say Y here.
786+ If security is not a concern then you may increase performance by
787+ saying N.
788 If in doubt, say yes.
789--- sle11-2009-06-04.orig/fs/Kconfig 2009-06-04 10:17:50.000000000 +0200
790+++ sle11-2009-06-04/fs/Kconfig 2009-06-04 10:18:21.000000000 +0200
791@@ -1011,6 +1011,7 @@ config HUGETLBFS
792 bool "HugeTLB file system support"
793 depends on X86 || IA64 || PPC64 || SPARC64 || (SUPERH && MMU) || \
794 (S390 && 64BIT) || BROKEN
795+ depends on !XEN
796 help
797 hugetlbfs is a filesystem backing for HugeTLB pages, based on
798 ramfs. For architectures that support it, say Y here and read
799--- sle11-2009-06-04.orig/kernel/Kconfig.preempt 2009-06-04 10:17:50.000000000 +0200
800+++ sle11-2009-06-04/kernel/Kconfig.preempt 2009-06-04 10:18:21.000000000 +0200
801@@ -35,6 +35,7 @@ config PREEMPT_VOLUNTARY
802
803 config PREEMPT
804 bool "Preemptible Kernel (Low-Latency Desktop)"
805+ depends on !XEN
806 help
807 This option reduces the latency of the kernel by making
808 all kernel code (that is not executing in a critical section)