[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC] xen/pvh: detect PVH after kexec
On 03/20/2017 02:20 PM, Vitaly Kuznetsov wrote: > PVH guests after kexec boot like normal HVM guests and we're not entering > xen_prepare_pvh() Is it not? Aren't we going via xen_hvm_shutdown() and then SHUTDOWN_soft_reset which would restart at the same entry point as regular boot? -boris > but we still want to know that we're PVH. This hack does > the job by using XEN_IOPORT_MAGIC but I didn't find any straitforward way > to do it. Did I miss something? Or shall we introduce a CPUID leaf or > something like that? > > Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> > --- > arch/x86/xen/enlighten.c | 18 ++++++++++++++++++ > 1 file changed, 18 insertions(+) > > diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c > index ec1d5c4..4a30886 100644 > --- a/arch/x86/xen/enlighten.c > +++ b/arch/x86/xen/enlighten.c > @@ -51,6 +51,7 @@ > #include <xen/hvm.h> > #include <xen/hvc-console.h> > #include <xen/acpi.h> > +#include <xen/platform_pci.h> > > #include <asm/paravirt.h> > #include <asm/apic.h> > @@ -1765,6 +1766,20 @@ void __init xen_prepare_pvh(void) > > x86_init.oem.arch_setup = xen_pvh_arch_setup; > } > + > +static void xen_detect_pvh(void) > +{ > + short magic; > + > + if (xen_pvh) > + return; > + > + magic = inw(XEN_IOPORT_MAGIC); > + if (magic != XEN_IOPORT_MAGIC_VAL) { > + xen_pvh = 1; > + xen_pvh_arch_setup(); > + } > +} > #endif > > void __ref xen_hvm_init_shared_info(void) > @@ -1912,6 +1927,9 @@ static void __init xen_hvm_guest_init(void) > > init_hvm_pv_info(); > > + /* Detect PVH booting after kexec */ > + xen_detect_pvh(); > + > xen_hvm_init_shared_info(); > > xen_panic_handler_init(); _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |