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