Magellan Linux

Contents of /trunk/kernel26-xen/patches-2.6.25-r1/1010-2.6.25-xen-auto-xen-kconfig.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 609 - (show annotations) (download)
Fri May 23 17:35:37 2008 UTC (15 years, 11 months ago) by niro
File size: 23324 byte(s)
-using opensuse xen patchset, updated kernel configs

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