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