Contents of /trunk/kernel26-xen/patches-2.6.25-r1/1010-2.6.25-xen-auto-xen-kconfig.patch
Parent Directory | Revision Log
Revision 609 -
(show annotations)
(download)
Fri May 23 17:35:37 2008 UTC (16 years, 4 months ago) by niro
File size: 23324 byte(s)
Fri May 23 17:35:37 2008 UTC (16 years, 4 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) |