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