Message ID | 1544468848-496-1-git-send-email-maran.wilson@oracle.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | KVM: x86: Allow Qemu/KVM to use PVH entry point | expand |
On Mon, Dec 10, 2018 at 11:07:28AM -0800, Maran Wilson wrote: > In order to pave the way for hypervisors other than 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@oracle.com> > Reviewed-by: Juergen Gross <jgross@suse.com> > --- > arch/x86/Kconfig | 6 ++++++ > arch/x86/kernel/head_64.S | 2 +- > arch/x86/xen/Kconfig | 3 ++- > 3 files changed, 9 insertions(+), 2 deletions(-) > > diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig > index 8689e794a43c..c2a22a74abee 100644 > --- a/arch/x86/Kconfig > +++ b/arch/x86/Kconfig > @@ -796,6 +796,12 @@ 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" > + ---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 747c758f67b7..d1dbe8e4eb82 100644 > --- a/arch/x86/kernel/head_64.S > +++ b/arch/x86/kernel/head_64.S > @@ -386,7 +386,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 + L4_PAGE_OFFSET*8, 0 > diff --git a/arch/x86/xen/Kconfig b/arch/x86/xen/Kconfig > index 1ef391aa184d..e07abefd3d26 100644 > --- a/arch/x86/xen/Kconfig > +++ b/arch/x86/xen/Kconfig > @@ -74,6 +74,7 @@ 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 > + select PVH > def_bool n > -- LGTM: Acked-by: Borislav Petkov <bp@suse.de>
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 8689e794a43c..c2a22a74abee 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -796,6 +796,12 @@ 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" + ---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 747c758f67b7..d1dbe8e4eb82 100644 --- a/arch/x86/kernel/head_64.S +++ b/arch/x86/kernel/head_64.S @@ -386,7 +386,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 + L4_PAGE_OFFSET*8, 0 diff --git a/arch/x86/xen/Kconfig b/arch/x86/xen/Kconfig index 1ef391aa184d..e07abefd3d26 100644 --- a/arch/x86/xen/Kconfig +++ b/arch/x86/xen/Kconfig @@ -74,6 +74,7 @@ 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 + select PVH def_bool n