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