[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH for-next v3 8/9] x86: be more verbose when running on a hypervisor
On Mon, 21 Oct 2019 at 17:00, Wei Liu <wl@xxxxxxx> wrote: > > Signed-off-by: Wei Liu <liuwe@xxxxxxxxxxxxx> Reviewed-by: Paul Durrant <paul@xxxxxxx> > --- > V3: Address Roger's comment, add ASSERTs > --- > xen/arch/x86/guest/hypervisor.c | 6 ++++++ > xen/arch/x86/setup.c | 6 +++++- > xen/include/asm-x86/guest/hypervisor.h | 3 +++ > 3 files changed, 14 insertions(+), 1 deletion(-) > > diff --git a/xen/arch/x86/guest/hypervisor.c b/xen/arch/x86/guest/hypervisor.c > index 33bf1a769d..a666ad9526 100644 > --- a/xen/arch/x86/guest/hypervisor.c > +++ b/xen/arch/x86/guest/hypervisor.c > @@ -46,6 +46,12 @@ bool hypervisor_probe(void) > return false; > } > > +const char *hypervisor_name(void) > +{ > + ASSERT(hops); > + return hops->name; > +} > + > void hypervisor_setup(void) > { > if ( hops && hops->setup ) > diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c > index 0ee11b15a6..cf5a7b8e1e 100644 > --- a/xen/arch/x86/setup.c > +++ b/xen/arch/x86/setup.c > @@ -689,6 +689,7 @@ void __init noreturn __start_xen(unsigned long mbi_p) > int i, j, e820_warn = 0, bytes = 0; > bool acpi_boot_table_init_done = false, relocated = false; > int ret; > + bool running_on_hypervisor; > struct ns16550_defaults ns16550 = { > .data_bits = 8, > .parity = 'n', > @@ -763,7 +764,7 @@ void __init noreturn __start_xen(unsigned long mbi_p) > * allocing any xenheap structures wanted in lower memory. */ > kexec_early_calculations(); > > - hypervisor_probe(); > + running_on_hypervisor = hypervisor_probe(); > > parse_video_info(); > > @@ -789,6 +790,9 @@ void __init noreturn __start_xen(unsigned long mbi_p) > > printk("Xen image load base address: %#lx\n", xen_phys_start); > > + if ( running_on_hypervisor ) > + printk("Running on %s\n", hypervisor_name()); > + > #ifdef CONFIG_VIDEO > printk("Video information:\n"); > > diff --git a/xen/include/asm-x86/guest/hypervisor.h > b/xen/include/asm-x86/guest/hypervisor.h > index 38344e2e89..b583722f5d 100644 > --- a/xen/include/asm-x86/guest/hypervisor.h > +++ b/xen/include/asm-x86/guest/hypervisor.h > @@ -36,15 +36,18 @@ bool hypervisor_probe(void); > void hypervisor_setup(void); > void hypervisor_ap_setup(void); > void hypervisor_resume(void); > +const char *hypervisor_name(void); > > #else > > +#include <xen/lib.h> > #include <xen/types.h> > > static inline bool hypervisor_probe(void) { return false; } > static inline void hypervisor_setup(void) {} > static inline void hypervisor_ap_setup(void) {} > static inline void hypervisor_resume(void) {} > +static inline char *hypervisor_name(void) { ASSERT_UNREACHABLE(); return > NULL; } > > #endif /* CONFIG_GUEST */ > > -- > 2.20.1 > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxxxxxxxxx > https://lists.xenproject.org/mailman/listinfo/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |