Re: [PATCH v2 03/21] x86/xen: add CONFIG_XEN_PV to Kconfig
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
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
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
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