Re: [PATCH v2 03/21] x86/xen: add CONFIG_XEN_PV to Kconfig

2017-03-08 Thread Juergen Gross
On 02/03/17 18:53, Vitaly Kuznetsov wrote:
> All code to supprot Xen PV will get under this new option. For the

s/supprot/support/

> beginning, check for it in the common code.
> 
> Signed-off-by: Vitaly Kuznetsov 
> ---
>  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
>   _hyper_xen_pv,
> +#endif
> +#ifdef CONFIG_XEN_PVHVM
>   _hyper_xen_hvm,
>  #endif
>   _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

select XEN_HAVE_PVMMU is missing ...

> + 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

... and can be dropped here


Juergen


Re: [PATCH v2 03/21] x86/xen: add CONFIG_XEN_PV to Kconfig

2017-03-08 Thread Juergen Gross
On 02/03/17 18:53, Vitaly Kuznetsov wrote:
> All code to supprot Xen PV will get under this new option. For the

s/supprot/support/

> beginning, check for it in the common code.
> 
> Signed-off-by: Vitaly Kuznetsov 
> ---
>  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
>   _hyper_xen_pv,
> +#endif
> +#ifdef CONFIG_XEN_PVHVM
>   _hyper_xen_hvm,
>  #endif
>   _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

select XEN_HAVE_PVMMU is missing ...

> + 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

... and can be dropped here


Juergen


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

2017-03-02 Thread Vitaly Kuznetsov
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 
---
 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
_hyper_xen_pv,
+#endif
+#ifdef CONFIG_XEN_PVHVM
_hyper_xen_hvm,
 #endif
_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



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

2017-03-02 Thread Vitaly Kuznetsov
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 
---
 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
_hyper_xen_pv,
+#endif
+#ifdef CONFIG_XEN_PVHVM
_hyper_xen_hvm,
 #endif
_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