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