x86/xen: add CONFIG_XEN_PV to Kconfig
authorVitaly Kuznetsov <vkuznets@redhat.com>
Tue, 14 Mar 2017 17:35:38 +0000 (18:35 +0100)
committerJuergen Gross <jgross@suse.com>
Tue, 2 May 2017 08:50:19 +0000 (10:50 +0200)
All code to support Xen PV will get under this new option. For the
beginning, check for it in the common code.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
arch/x86/kernel/cpu/hypervisor.c
arch/x86/kernel/process_64.c
arch/x86/xen/Kconfig

index a77f18d139c0e18d7824a960705777c23796daae..ce6fcc30f2ad700907e96a18893c26a72d3f9e74 100644 (file)
 
 static const __initconst struct hypervisor_x86 * const hypervisors[] =
 {
 
 static const __initconst struct hypervisor_x86 * const hypervisors[] =
 {
-#ifdef CONFIG_XEN
+#ifdef CONFIG_XEN_PV
        &x86_hyper_xen_pv,
        &x86_hyper_xen_pv,
+#endif
+#ifdef CONFIG_XEN_PVHVM
        &x86_hyper_xen_hvm,
 #endif
        &x86_hyper_vmware,
        &x86_hyper_xen_hvm,
 #endif
        &x86_hyper_vmware,
index 825a1e47cf3e9e47d942c46c86f13b2c7aa40782..b6840bf3940b0f079ba05121283dd87676d82cec 100644 (file)
@@ -446,7 +446,7 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
                     task_thread_info(prev_p)->flags & _TIF_WORK_CTXSW_PREV))
                __switch_to_xtra(prev_p, next_p, tss);
 
                     task_thread_info(prev_p)->flags & _TIF_WORK_CTXSW_PREV))
                __switch_to_xtra(prev_p, next_p, tss);
 
-#ifdef CONFIG_XEN
+#ifdef CONFIG_XEN_PV
        /*
         * On Xen PV, IOPL bits in pt_regs->flags have no effect, and
         * current_pt_regs()->flags may not match the current task's
        /*
         * On Xen PV, IOPL bits in pt_regs->flags have no effect, and
         * current_pt_regs()->flags may not match the current task's
index 76b6dbd627df2564ca0a65b5c5633ec03f6599d7..5bb14341f6392c1d991f03ad74eed2587b148802 100644 (file)
@@ -6,7 +6,6 @@ config XEN
        bool "Xen guest support"
        depends on PARAVIRT
        select PARAVIRT_CLOCK
        bool "Xen guest support"
        depends on PARAVIRT
        select PARAVIRT_CLOCK
-       select XEN_HAVE_PVMMU
        select XEN_HAVE_VPMU
        depends on X86_64 || (X86_32 && X86_PAE)
        depends on X86_LOCAL_APIC && X86_TSC
        select XEN_HAVE_VPMU
        depends on X86_64 || (X86_32 && X86_PAE)
        depends on X86_LOCAL_APIC && X86_TSC
@@ -15,18 +14,32 @@ config XEN
          kernel to boot in a paravirtualized environment under the
          Xen hypervisor.
 
          kernel to boot in a paravirtualized environment under the
          Xen hypervisor.
 
+config XEN_PV
+       bool "Xen PV guest support"
+       default y
+       depends on XEN
+       select XEN_HAVE_PVMMU
+       help
+         Support running as a Xen PV guest.
+
 config XEN_DOM0
 config XEN_DOM0
-       def_bool y
-       depends on XEN && PCI_XEN && SWIOTLB_XEN
+       bool "Xen PV Dom0 support"
+       default y
+       depends on XEN_PV && PCI_XEN && SWIOTLB_XEN
        depends on X86_IO_APIC && ACPI && PCI
        depends on X86_IO_APIC && ACPI && PCI
+       help
+         Support running as a Xen PV Dom0 guest.
 
 config XEN_PVHVM
 
 config XEN_PVHVM
-       def_bool y
+       bool "Xen PVHVM guest support"
+       default y
        depends on XEN && PCI && X86_LOCAL_APIC
        depends on XEN && PCI && X86_LOCAL_APIC
+       help
+         Support running as a Xen PVHVM guest.
 
 config XEN_512GB
        bool "Limit Xen pv-domain memory to 512GB"
 
 config XEN_512GB
        bool "Limit Xen pv-domain memory to 512GB"
-       depends on XEN && X86_64
+       depends on XEN_PV && X86_64
        default y
        help
          Limit paravirtualized user domains to 512GB of RAM.
        default y
        help
          Limit paravirtualized user domains to 512GB of RAM.