Re: [Xen-devel] [RFC PATCH v4 1/7] xen/pvh: Split CONFIG_XEN_PVH into CONFIG_PVH and CONFIG_XEN_PVH

From: Konrad Rzeszutek Wilk
Date: Wed Feb 28 2018 - 16:14:26 EST


On Wed, Feb 28, 2018 at 10:27:57AM -0800, Maran Wilson wrote:
> In order to pave the way for hypervisors other then Xen to use the PVH
> entry point for VMs, we need to factor the PVH entry code into Xen specific
> and hypervisor agnostic components. The first step in doing that, is to
> create a new config option for PVH entry that can be enabled
> independently from CONFIG_XEN.
>
> Signed-off-by: Maran Wilson <maran.wilson@xxxxxxxxxx>
> ---
> arch/x86/Kconfig | 8 ++++++++
> arch/x86/kernel/head_64.S | 4 ++--
> arch/x86/xen/Kconfig | 3 ++-
> 3 files changed, 12 insertions(+), 3 deletions(-)
>
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index eb7f43f23521..fa7cd0305125 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -791,6 +791,14 @@ config KVM_GUEST
> underlying device model, the host provides the guest with
> timing infrastructure such as time of day, and system time
>
> +config PVH
> + bool "Support for running PVH guests"
> + depends on KVM_GUEST || XEN
> + def_bool n
> + ---help---
> + This option enables the PVH entry point for guest virtual machines
> + as specified in the x86/HVM direct boot ABI.
> +
> config KVM_DEBUG_FS
> bool "Enable debug information for KVM Guests in debugfs"
> depends on KVM_GUEST && DEBUG_FS
> diff --git a/arch/x86/kernel/head_64.S b/arch/x86/kernel/head_64.S
> index 0f545b3cf926..fc9f678c6413 100644
> --- a/arch/x86/kernel/head_64.S
> +++ b/arch/x86/kernel/head_64.S
> @@ -41,7 +41,7 @@
>
> #define pud_index(x) (((x) >> PUD_SHIFT) & (PTRS_PER_PUD-1))
>
> -#if defined(CONFIG_XEN_PV) || defined(CONFIG_XEN_PVH)
> +#if defined(CONFIG_XEN_PV) || defined(CONFIG_PVH)
> PGD_PAGE_OFFSET = pgd_index(__PAGE_OFFSET_BASE)
> PGD_START_KERNEL = pgd_index(__START_KERNEL_map)
> #endif
> @@ -387,7 +387,7 @@ NEXT_PAGE(early_dynamic_pgts)
>
> .data
>
> -#if defined(CONFIG_XEN_PV) || defined(CONFIG_XEN_PVH)
> +#if defined(CONFIG_XEN_PV) || defined(CONFIG_PVH)
> NEXT_PGD_PAGE(init_top_pgt)
> .quad level3_ident_pgt - __START_KERNEL_map + _KERNPG_TABLE_NOENC
> .org init_top_pgt + PGD_PAGE_OFFSET*8, 0
> diff --git a/arch/x86/xen/Kconfig b/arch/x86/xen/Kconfig
> index f605825a04ab..021c8591c3c0 100644
> --- a/arch/x86/xen/Kconfig
> +++ b/arch/x86/xen/Kconfig
> @@ -77,8 +77,9 @@ config XEN_DEBUG_FS
> Enabling this option may incur a significant performance overhead.
>
> config XEN_PVH
> - bool "Support for running as a PVH guest"
> + bool "Support for running as a Xen PVH guest"
> depends on XEN && XEN_PVHVM && ACPI
> # Pre-built page tables are not ready to handle 5-level paging.
> depends on !X86_5LEVEL

Not specific to this patch, but why is this there? PVH is not using PV so
there should be no problems with 5 level paging.

Juergen, thoughts?

> + select PVH
> def_bool n
> --
> 2.16.1
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxxx
> https://lists.xenproject.org/mailman/listinfo/xen-devel