diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c index 878de19b93..891b4b66ff 100644 --- a/xen/arch/arm/bootfdt.c +++ b/xen/arch/arm/bootfdt.c @@ -238,7 +238,7 @@ static void __init process_multiboot_node(const void *fdt, int node, if ( !prop ) return; add_boot_cmdline(fdt_get_name(fdt, parent_node, &len), prop->data, - kind, domU); + kind, start, domU); } static void __init process_chosen_node(const void *fdt, int node, @@ -335,7 +335,7 @@ static void __init early_print_info(void) } printk("\n"); for ( i = 0 ; i < cmds->nr_mods; i++ ) - printk("CMDLINE[%d]:%s %s\n", i, + printk("CMDLINE[%"PRIpaddr"]:%s %s\n", cmds->cmdline[i].start, cmds->cmdline[i].dt_name, &cmds->cmdline[i].cmdline[0]); printk("\n"); diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c index e0150ba0fe..b5256d2940 100644 --- a/xen/arch/arm/setup.c +++ b/xen/arch/arm/setup.c @@ -254,7 +254,7 @@ struct bootmodule * __init boot_module_find_by_kind(bootmodule_kind kind) } void __init add_boot_cmdline(const char *name, const char *cmdline, - bootmodule_kind kind, bool domU) + bootmodule_kind kind, paddr_t start, bool domU) { struct bootcmdlines *cmds = &bootinfo.cmdlines; struct bootcmdline *cmd; @@ -268,6 +268,7 @@ void __init add_boot_cmdline(const char *name, const char *cmdline, cmd = &cmds->cmdline[cmds->nr_mods++]; cmd->kind = kind; cmd->domU = domU; + cmd->start = start; ASSERT(strlen(name) <= DT_MAX_NAME); safe_strcpy(cmd->dt_name, name); diff --git a/xen/include/asm-arm/setup.h b/xen/include/asm-arm/setup.h index d4c5dda8df..5418f92112 100644 --- a/xen/include/asm-arm/setup.h +++ b/xen/include/asm-arm/setup.h @@ -49,6 +49,7 @@ struct bootmodule { struct bootcmdline { bootmodule_kind kind; bool domU; + paddr_t start; char dt_name[DT_MAX_NAME]; char cmdline[BOOTMOD_MAX_CMDLINE]; }; @@ -104,7 +105,7 @@ struct bootmodule *boot_module_find_by_kind(bootmodule_kind kind); struct bootmodule * boot_module_find_by_addr_and_kind(bootmodule_kind kind, paddr_t start); void add_boot_cmdline(const char *name, const char *cmdline, - bootmodule_kind kind, bool domU); + bootmodule_kind kind, paddr_t start, bool domU); struct bootcmdline *boot_cmdline_find_by_kind(bootmodule_kind kind); struct bootcmdline * boot_cmdline_find_by_name(const char *name); const char *boot_module_kind_as_string(bootmodule_kind kind);