The current rendering of PVH start info in unnecessarily verbose, and doesn't clearly separate decimal and hex numbers.
All addresses are expected to be below the 4G boundary, so drop 8 redundant zeroes on all physical addresses. Properly prefix all hex numbers, and fold related information onto the same line. Before: (XEN) PVH start info: (pa 0000ffc0) (XEN) version: 1 (XEN) flags: 0 (XEN) nr_modules: 1 (XEN) modlist_pa: 000000000000ff80 (XEN) cmdline_pa: 000000000000ffa0 (XEN) cmdline: 'console=pv,xen' (XEN) rsdp_pa: 00000000fc009000 (XEN) mod[0].pa: 0000000000599000 (XEN) mod[0].size: 0000000001204224 (XEN) mod[0].cmdline_pa: 0000000000000000 After: (XEN) PVH start info: (pa 0x0000ffc0) (XEN) version 1, flags 0 (XEN) cmdline 0x0000ffa0 'console=pv,xen' (XEN) rsdp 0xfc009000 (XEN) modlist 0x0000ff80, nr 1 (XEN) mod0 pa 0x005f4000, sz 0x00126000, cmdline 0x00000000 Signed-off-by: Andrew Cooper <andrew.coop...@citrix.com> --- CC: Jan Beulich <jbeul...@suse.com> CC: Wei Liu <wei.l...@citrix.com> CC: Roger Pau Monné <roger....@citrix.com> CC: Juergen Gross <jgr...@suse.com> --- xen/arch/x86/guest/pvh-boot.c | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/xen/arch/x86/guest/pvh-boot.c b/xen/arch/x86/guest/pvh-boot.c index 01f1376..0845f0f 100644 --- a/xen/arch/x86/guest/pvh-boot.c +++ b/xen/arch/x86/guest/pvh-boot.c @@ -123,28 +123,29 @@ void __init pvh_print_info(void) const struct hvm_modlist_entry *entry; unsigned int i; - ASSERT(pvh_info->magic == XEN_HVM_START_MAGIC_VALUE); - - printk("PVH start info: (pa %08x)\n", pvh_start_info_pa); - printk(" version: %u\n", pvh_info->version); - printk(" flags: %#"PRIx32"\n", pvh_info->flags); - printk(" nr_modules: %u\n", pvh_info->nr_modules); - printk(" modlist_pa: %016"PRIx64"\n", pvh_info->modlist_paddr); - printk(" cmdline_pa: %016"PRIx64"\n", pvh_info->cmdline_paddr); + printk("PVH start info: (pa 0x%08x)\n", pvh_start_info_pa); + printk(" version %u, flags %#x\n", pvh_info->version, pvh_info->flags); + + printk(" cmdline 0x%08"PRIx64, pvh_info->cmdline_paddr); if ( pvh_info->cmdline_paddr ) - printk(" cmdline: '%s'\n", (char *)__va(pvh_info->cmdline_paddr)); - printk(" rsdp_pa: %016"PRIx64"\n", pvh_info->rsdp_paddr); + printk(" '%s'", (char *)__va(pvh_info->cmdline_paddr)); + printk("\n"); + + printk(" rsdp 0x%08"PRIx64"\n", pvh_info->rsdp_paddr); + + printk(" modlist 0x%08"PRIx64", nr %u\n", + pvh_info->modlist_paddr, pvh_info->nr_modules); entry = __va(pvh_info->modlist_paddr); for ( i = 0; i < pvh_info->nr_modules; i++ ) { - printk(" mod[%u].pa: %016"PRIx64"\n", i, entry[i].paddr); - printk(" mod[%u].size: %016"PRIu64"\n", i, entry[i].size); - printk(" mod[%u].cmdline_pa: %016"PRIx64"\n", - i, entry[i].cmdline_paddr); + printk(" mod%u pa 0x%08"PRIx64", sz 0x%08"PRIx64", cmdline 0x%08" PRIx64, + i, entry[i].paddr, entry[i].size, entry[i].cmdline_paddr); + if ( entry[i].cmdline_paddr ) - printk(" mod[%1u].cmdline: '%s'\n", i, - (char *)__va(entry[i].cmdline_paddr)); + printk(" '%s'\n", (char *)__va(entry[i].cmdline_paddr)); + + printk("\n"); } } -- 2.1.4 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel