Annotation of /trunk/kernel26-xen/patches-2.6.25-r1/1010-2.6.25-xen-auto-xen-kconfig.patch
Parent Directory | Revision Log
Revision 609 -
(hide annotations)
(download)
Fri May 23 17:35:37 2008 UTC (16 years, 5 months ago) by niro
File size: 23324 byte(s)
Fri May 23 17:35:37 2008 UTC (16 years, 5 months ago) by niro
File size: 23324 byte(s)
-using opensuse xen patchset, updated kernel configs
1 | niro | 609 | 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) |