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
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
16 config GENERIC_CMOS_UPDATE
18 @@ -188,7 +189,7 @@ config X86_64_SMP
23 + depends on SMP && !XEN
24 depends on (X86_32 && !X86_VOYAGER) || X86_64
27 @@ -200,6 +201,17 @@ config X86_BIOS_REBOOT
30 depends on X86_SMP || (X86_VOYAGER && SMP) || (64BIT && ACPI_SLEEP)
36 + depends on X86_XEN || X86_64_XEN
41 + depends on X86_XEN || X86_64_XEN
45 @@ -267,6 +279,17 @@ config X86_PC
47 Choose this option if your computer is a standard PC or compatible.
50 + bool "Xen-compatible"
53 + select X86_UP_APIC if !SMP && XEN_PRIVILEGED_GUEST
54 + select X86_UP_IOAPIC if !SMP && XEN_PRIVILEGED_GUEST
57 + Choose this option if you plan to run this kernel on top of the
63 @@ -334,6 +357,13 @@ config X86_BIGSMP
68 + bool "Enable Xen compatible kernel"
72 + This option will compile a kernel compatible with Xen hypervisor
75 bool "Support for ScaleMP vSMP"
77 @@ -474,6 +504,7 @@ source "arch/x86/Kconfig.cpu"
80 prompt "HPET Timer Support" if X86_32
81 + depends on !X86_XEN && !X86_64_XEN
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
89 - depends on X86_64 && PCI
90 + depends on X86_64 && PCI && !X86_64_XEN
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
96 bool "IBM Calgary IOMMU support"
98 - depends on X86_64 && PCI && EXPERIMENTAL
99 + depends on X86_64 && PCI && !X86_64_XEN && EXPERIMENTAL
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
105 default "4096" if MAXSMP
106 default "32" if X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || X86_ES7000
107 + default "16" if X86_64_XEN
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
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)
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
123 depends on X86_64 || (X86_32 && (X86_UP_APIC || (SMP && !X86_VOYAGER) || X86_GENERICARCH))
124 + depends on !XEN_UNPRIVILEGED_GUEST
128 depends on X86_64 || (X86_32 && (X86_UP_IOAPIC || (SMP && !X86_VOYAGER) || X86_GENERICARCH))
129 + depends on !XEN_UNPRIVILEGED_GUEST
131 config X86_VISWS_APIC
133 depends on X86_32 && X86_VISWS
135 +config X86_XEN_GENAPIC
137 + depends on X86_64_XEN
141 bool "Machine Check Exception"
142 - depends on !X86_VOYAGER
143 + depends on !(X86_VOYAGER || XEN)
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
150 prompt "Enable X86 board specific fixups for reboot"
151 - depends on X86_32 && X86
152 + depends on X86_32 && !X86_XEN
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
159 tristate "/dev/cpu/microcode - Intel IA32 CPU microcode support"
160 + depends on !XEN_UNPRIVILEGED_GUEST
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
167 bool "Numa Memory Allocation and Scheduler Support (EXPERIMENTAL)"
169 + depends on SMP && !XEN
170 depends on X86_64 || (X86_32 && HIGHMEM64G && (X86_NUMAQ || X86_BIGSMP || X86_SUMMIT && ACPI) && EXPERIMENTAL)
172 default y if (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP)
173 @@ -1071,7 +1111,7 @@ config ARCH_SPARSEMEM_DEFAULT
175 config ARCH_SPARSEMEM_ENABLE
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
182 @@ -1117,6 +1157,7 @@ config X86_RESERVE_LOW_64K
183 config MATH_EMULATION
185 prompt "Math emulation" if X86_32
186 + depends on !X86_XEN
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
193 bool "MTRR (Memory Type Range Register) support"
194 + depends on !XEN_UNPRIVILEGED_GUEST
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
201 prompt "EFI runtime service support"
203 + depends on ACPI && !X86_XEN && !X86_64_XEN
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
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
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
218 bool "kexec system call"
219 depends on X86_BIOS_REBOOT
220 + depends on !XEN_UNPRIVILEGED_GUEST
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
226 bool "kernel crash dumps"
227 depends on X86_64 || (X86_32 && HIGHMEM)
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
234 prompt "Compat VDSO support"
235 depends on X86_32 || IA32_EMULATION
236 + depends on !X86_XEN
238 Map the 32-bit VDSO to the predictable old-style address too.
240 @@ -1458,7 +1503,7 @@ config HAVE_ARCH_EARLY_PFN_TO_NID
243 menu "Power management options"
244 - depends on !X86_VOYAGER
245 + depends on !(X86_VOYAGER || XEN_UNPRIVILEGED_GUEST)
247 config ARCH_HIBERNATION_HEADER
249 @@ -1475,7 +1520,7 @@ config X86_APM_BOOT
252 tristate "APM (Advanced Power Management) BIOS support"
253 - depends on X86_32 && PM_SLEEP
254 + depends on X86_32 && PM_SLEEP && !XEN
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
262 + depends on !X86_XEN
264 config PCI_GOMMCONFIG
266 @@ -1652,6 +1698,13 @@ config PCI_GOOLPC
271 + bool "Xen PCI Frontend"
274 + The PCI device frontend driver allows the kernel to import arbitrary
275 + PCI devices from a PCI backend to support PCI driver domains.
280 @@ -1659,7 +1712,7 @@ endchoice
284 - depends on X86_32 && PCI && (PCI_GOBIOS || PCI_GOANY)
285 + depends on X86_32 && PCI && !XEN && (PCI_GOBIOS || PCI_GOANY)
287 # x86-64 doesn't support PCI BIOS access from long mode so always go direct.
289 @@ -1682,6 +1735,22 @@ config PCI_MMCONFIG
290 bool "Support mmconfig PCI config space access"
291 depends on X86_64 && PCI && ACPI
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)
299 + The PCI device frontend driver allows the kernel to import arbitrary
300 + PCI devices from a PCI backend to support PCI driver domains.
302 +config XEN_PCIDEV_FE_DEBUG
303 + bool "Xen PCI Frontend Debugging"
304 + depends on XEN_PCIDEV_FRONTEND
307 + Enables some debug statements within the PCI Frontend.
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
316 - depends on !X86_VOYAGER
317 + depends on !X86_VOYAGER && !XEN
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"
325 - bool "MCA support" if !X86_VOYAGER
326 + bool "MCA support" if !X86_VOYAGER && !XEN
327 default y if X86_VOYAGER
329 MicroChannel Architecture is found in some IBM PS/2 machines and
330 @@ -1871,4 +1940,6 @@ source "crypto/Kconfig"
332 source "arch/x86/kvm/Kconfig"
334 +source "drivers/xen/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
345 - depends on M586MMX || M586TSC || M586 || M486 || M386
346 + depends on (M586MMX || M586TSC || M586 || M486 || M386) && !X86_NO_IDT
348 config X86_WP_WORKS_OK
350 @@ -397,6 +397,7 @@ config X86_P6_NOP
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
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
365 bool "Enable doublefault exception handler" if EMBEDDED
367 + depends on X86_32 && !X86_NO_TSS
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
377 bool "Power Management Timer Support" if EMBEDDED
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.
387 +config ACPI_PV_SLEEP
389 + depends on X86 && XEN && ACPI_SLEEP
392 +config PROCESSOR_EXTERNAL_CONTROL
394 + depends on (X86 || IA64) && XEN
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
403 bool "HPET - High Precision Event Timer" if (X86 || IA64)
406 + depends on ACPI && !XEN
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
419 + tristate "XEN TPM Interface"
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.
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
434 bool "CPU Frequency scaling"
435 + depends on !PROCESSOR_EXTERNAL_CONTROL
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
445 If you don't know what to do here, say N.
451 bool "Enable deprecated pci_find_* API"
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"
459 tristate "8250/16550 and compatible serial support"
460 depends on (BROKEN || !SPARC)
461 + depends on !XEN_DISABLE_SERIAL
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
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
484 bool "Video mode selection support"
485 depends on X86 && VGA_CONSOLE
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
496 +# This Kconfig describe xen options
499 +mainmenu "Xen Configuration"
505 +config XEN_INTERFACE_VERSION
511 +config XEN_PRIVILEGED_GUEST
512 + bool "Privileged Guest (domain 0)"
513 + select PCI_REASSIGN if PCI
515 + Support for privileged operation (domain 0)
517 +config XEN_UNPRIVILEGED_GUEST
518 + def_bool !XEN_PRIVILEGED_GUEST
524 +config XEN_XENBUS_DEV
528 +config XEN_NETDEV_ACCEL_SFC_UTIL
533 + tristate "Backend driver support"
534 + default XEN_PRIVILEGED_GUEST
536 + Support for backend device drivers that provide I/O services
537 + to other virtual machines.
539 +config XEN_BLKDEV_BACKEND
540 + tristate "Block-device backend driver"
541 + depends on XEN_BACKEND
542 + default XEN_BACKEND
544 + The block-device backend driver allows the kernel to export its
545 + block devices to other guests via a high-performance shared-memory
548 +config XEN_BLKDEV_TAP
549 + tristate "Block-device tap backend driver"
550 + depends on XEN_BACKEND
551 + default XEN_BACKEND
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.
560 +config XEN_NETDEV_BACKEND
561 + tristate "Network-device backend driver"
562 + depends on XEN_BACKEND && NET
563 + default XEN_BACKEND
565 + The network-device backend driver allows the kernel to export its
566 + network devices to other guests via a high-performance shared-memory
569 +config XEN_NETDEV_PIPELINED_TRANSMITTER
570 + bool "Pipelined transmitter (DANGEROUS)"
571 + depends on XEN_NETDEV_BACKEND
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.
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
587 +config XEN_NETDEV_LOOPBACK
588 + tristate "Network-device loopback driver"
589 + depends on XEN_NETDEV_BACKEND
591 + A two-interface loopback device to emulate a local netfront-netback
592 + connection. If unsure, it is probably safe to say N here.
594 +config XEN_PCIDEV_BACKEND
595 + tristate "PCI-device backend driver"
596 + depends on PCI && XEN_BACKEND
597 + default XEN_BACKEND
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.
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
610 +config XEN_PCIDEV_BACKEND_VPCI
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.
618 +config XEN_PCIDEV_BACKEND_PASS
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
628 +config XEN_PCIDEV_BACKEND_SLOT
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.
637 +config XEN_PCIDEV_BACKEND_CONTROLLER
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.
654 +config XEN_PCIDEV_BE_DEBUG
655 + bool "PCI Backend Debugging"
656 + depends on XEN_PCIDEV_BACKEND
658 +config XEN_TPMDEV_BACKEND
659 + tristate "TPM-device backend driver"
660 + depends on XEN_BACKEND
662 + The TPM-device backend driver
664 +config XEN_SCSI_BACKEND
665 + tristate "SCSI backend driver"
666 + depends on SCSI && XEN_BACKEND
669 + The SCSI backend driver allows the kernel to export its SCSI Devices
670 + to other guests via a high-performance shared-memory interface.
672 +config XEN_BLKDEV_FRONTEND
673 + tristate "Block-device frontend driver"
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.
681 +config XEN_NETDEV_FRONTEND
682 + tristate "Network-device frontend driver"
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.
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
697 +config XEN_SCSI_FRONTEND
698 + tristate "SCSI frontend driver"
702 + The SCSI frontend driver allows the kernel to access SCSI Devices
703 + within another guest OS.
705 +config XEN_GRANT_DEV
706 + tristate "User-space granted page access driver"
707 + default XEN_PRIVILEGED_GUEST
709 + Device for accessing (in user-space) pages that have been granted
712 +config XEN_FRAMEBUFFER
713 + tristate "Framebuffer-device frontend driver"
715 + select FB_CFB_FILLRECT
716 + select FB_CFB_COPYAREA
717 + select FB_CFB_IMAGEBLIT
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.
726 + tristate "Keyboard-device frontend driver"
727 + depends on XEN_FRAMEBUFFER && INPUT
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.
735 +config XEN_DISABLE_SERIAL
736 + bool "Disable serial port drivers"
739 + Disable serial port drivers, allowing the Xen console driver
740 + to provide a serial console at ttyS0.
743 + tristate "Export Xen attributes in sysfs"
745 + select SYS_HYPERVISOR
748 + Xen hypervisor attributes will show up under /sys/hypervisor/.
751 + prompt "Xen version compatibility"
752 + default XEN_COMPAT_030002_AND_LATER
754 + config XEN_COMPAT_030002_AND_LATER
755 + bool "3.0.2 and later"
757 + config XEN_COMPAT_030004_AND_LATER
758 + bool "3.0.4 and later"
760 + config XEN_COMPAT_030100_AND_LATER
761 + bool "3.1.0 and later"
763 + config XEN_COMPAT_LATEST_ONLY
764 + bool "no compatibility code"
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
778 +config HAVE_IRQ_IGNORE_UNHANDLED
786 + depends on SMP && !PPC_XEN
797 - bool "Xen memory balloon driver"
799 + bool "Xen memory balloon driver" if PARAVIRT_XEN
800 + depends on (XEN && !PPC_XEN) || PARAVIRT_XEN
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.
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
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
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
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
844 bool "Preemptible Kernel (Low-Latency Desktop)"
847 This option reduces the latency of the kernel by making
848 all kernel code (that is not executing in a critical section)