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