[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH v2 03/21] x86/xen: add CONFIG_XEN_PV to Kconfig



All code to supprot Xen PV will get under this new option. For the
beginning, check for it in the common code.

Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
---
 arch/x86/kernel/cpu/hypervisor.c |  4 +++-
 arch/x86/kernel/process_64.c     |  2 +-
 arch/x86/xen/Kconfig             | 23 ++++++++++++++++++-----
 3 files changed, 22 insertions(+), 7 deletions(-)

diff --git a/arch/x86/kernel/cpu/hypervisor.c b/arch/x86/kernel/cpu/hypervisor.c
index a77f18d..ce6fcc3 100644
--- a/arch/x86/kernel/cpu/hypervisor.c
+++ b/arch/x86/kernel/cpu/hypervisor.c
@@ -28,8 +28,10 @@
 
 static const __initconst struct hypervisor_x86 * const hypervisors[] =
 {
-#ifdef CONFIG_XEN
+#ifdef CONFIG_XEN_PV
        &x86_hyper_xen_pv,
+#endif
+#ifdef CONFIG_XEN_PVHVM
        &x86_hyper_xen_hvm,
 #endif
        &x86_hyper_vmware,
diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c
index a61e141..5e8d129 100644
--- a/arch/x86/kernel/process_64.c
+++ b/arch/x86/kernel/process_64.c
@@ -438,7 +438,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);
 
-#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
diff --git a/arch/x86/xen/Kconfig b/arch/x86/xen/Kconfig
index 76b6dbd..c387560 100644
--- a/arch/x86/xen/Kconfig
+++ b/arch/x86/xen/Kconfig
@@ -6,7 +6,6 @@ config XEN
        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
@@ -15,18 +14,32 @@ config XEN
          kernel to boot in a paravirtualized environment under the
          Xen hypervisor.
 
+config XEN_PV
+       bool "Xen PV guest support"
+       default y
+       depends on XEN
+       help
+         Support running as a Xen PV guest.
+
 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
+       select XEN_HAVE_PVMMU
+       help
+         Support running as a Xen PV Dom0 guest.
 
 config XEN_PVHVM
-       def_bool y
+       bool "Xen PVHVM guest support"
+       default y
        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"
-       depends on XEN && X86_64
+       depends on XEN_PV && X86_64
        default y
        help
          Limit paravirtualized user domains to 512GB of RAM.
-- 
2.9.3


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.