| 1 | # SPDX-License-Identifier: GPL-2.0 |
| 2 | # |
| 3 | # This Kconfig describes xen options |
| 4 | # |
| 5 | |
| 6 | config XEN |
| 7 | bool "Xen guest support" |
| 8 | depends on PARAVIRT |
| 9 | select PARAVIRT_CLOCK |
| 10 | select X86_HV_CALLBACK_VECTOR |
| 11 | depends on X86_64 || (X86_32 && X86_PAE) |
| 12 | depends on X86_64 || (X86_GENERIC || MPENTIUM4 || MATOM) |
| 13 | depends on X86_LOCAL_APIC && X86_TSC |
| 14 | help |
| 15 | This is the Linux Xen port. Enabling this will allow the |
| 16 | kernel to boot in a paravirtualized environment under the |
| 17 | Xen hypervisor. |
| 18 | |
| 19 | config XEN_PV |
| 20 | bool "Xen PV guest support" |
| 21 | default y |
| 22 | depends on XEN |
| 23 | depends on X86_64 |
| 24 | select PARAVIRT_XXL |
| 25 | select XEN_HAVE_PVMMU |
| 26 | select XEN_HAVE_VPMU |
| 27 | select GUEST_PERF_EVENTS |
| 28 | help |
| 29 | Support running as a Xen PV guest. |
| 30 | |
| 31 | config XEN_512GB |
| 32 | bool "Limit Xen pv-domain memory to 512GB" |
| 33 | depends on XEN_PV |
| 34 | default y |
| 35 | help |
| 36 | Limit paravirtualized user domains to 512GB of RAM. |
| 37 | |
| 38 | The Xen tools and crash dump analysis tools might not support |
| 39 | pv-domains with more than 512 GB of RAM. This option controls the |
| 40 | default setting of the kernel to use only up to 512 GB or more. |
| 41 | It is always possible to change the default via specifying the |
| 42 | boot parameter "xen_512gb_limit". |
| 43 | |
| 44 | config XEN_PV_SMP |
| 45 | def_bool y |
| 46 | depends on XEN_PV && SMP |
| 47 | |
| 48 | config XEN_PV_DOM0 |
| 49 | def_bool y |
| 50 | depends on XEN_PV && XEN_DOM0 |
| 51 | |
| 52 | config XEN_PVHVM |
| 53 | def_bool y |
| 54 | depends on XEN && X86_LOCAL_APIC |
| 55 | |
| 56 | config XEN_PVHVM_SMP |
| 57 | def_bool y |
| 58 | depends on XEN_PVHVM && SMP |
| 59 | |
| 60 | config XEN_PVHVM_GUEST |
| 61 | bool "Xen PVHVM guest support" |
| 62 | default y |
| 63 | depends on XEN_PVHVM && PCI |
| 64 | help |
| 65 | Support running as a Xen PVHVM guest. |
| 66 | |
| 67 | config XEN_SAVE_RESTORE |
| 68 | bool |
| 69 | depends on XEN |
| 70 | select HIBERNATE_CALLBACKS |
| 71 | default y |
| 72 | |
| 73 | config XEN_DEBUG_FS |
| 74 | bool "Enable Xen debug and tuning parameters in debugfs" |
| 75 | depends on XEN && DEBUG_FS |
| 76 | help |
| 77 | Enable statistics output and various tuning options in debugfs. |
| 78 | Enabling this option may incur a significant performance overhead. |
| 79 | |
| 80 | config XEN_PVH |
| 81 | bool "Xen PVH guest support" |
| 82 | depends on XEN && XEN_PVHVM && ACPI |
| 83 | select PVH |
| 84 | help |
| 85 | Support for running as a Xen PVH guest. |
| 86 | |
| 87 | config XEN_DOM0 |
| 88 | bool "Xen Dom0 support" |
| 89 | default XEN_PV |
| 90 | depends on (XEN_PV && SWIOTLB_XEN) || (XEN_PVH && X86_64) |
| 91 | depends on X86_IO_APIC && ACPI && PCI |
| 92 | select X86_X2APIC if XEN_PVH && X86_64 |
| 93 | help |
| 94 | Support running as a Xen Dom0 guest. |
| 95 | |
| 96 | config XEN_PV_MSR_SAFE |
| 97 | bool "Always use safe MSR accesses in PV guests" |
| 98 | default y |
| 99 | depends on XEN_PV |
| 100 | help |
| 101 | Use safe (not faulting) MSR access functions even if the MSR access |
| 102 | should not fault anyway. |
| 103 | The default can be changed by using the "xen_msr_safe" boot parameter. |