]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - src/patches/60011_xen3-auto-xen-kconfig.patch1
Fix core28 updater kernel version
[people/pmueller/ipfire-2.x.git] / src / patches / 60011_xen3-auto-xen-kconfig.patch1
1 Subject: xen3 xen-kconfig
2 From: http://xenbits.xensource.com/linux-2.6.18-xen.hg (tip 728:832aac894efd)
3 Patch-mainline: obsolete
4 Acked-by: jbeulich@novell.com
5
6 Index: 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"
337 Index: 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
358 Index: 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
371 Index: 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
397 Index: 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
410 Index: 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
428 Index: 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
439 Index: 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
453 Index: 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
465 Index: 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,
478 Index: 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
490 Index: 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.
825 Index: 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
837 Index: 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)