mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
libxl: use correct command line for arm guests.
We need to use libxl__domain_build_state.pv_cmdline in order to pickup the correct args when using pygrub. libxl_domain_build_info.cmdline is any args statically configured by the user. This is consistent with the call to xc_domain_allocate, which takes the cmdline too (in that case for x86/PV usage). state->pv_cmdline is also set for non-pygrub guests, since libxl__bootloader_run propagates info->cmdline if no bootloader is configured. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Wei Liu <wei.liu2@citrix.com>
This commit is contained in:
1 parent
0174da5b79
commit
201eac8383
1 file changed
+5
-3
@@ -260,6 +260,7 @@ static int make_root_properties(libxl__gc *gc,
|
||||
}
|
||||
|
||||
static int make_chosen_node(libxl__gc *gc, void *fdt, bool ramdisk,
|
||||
libxl__domain_build_state *state,
|
||||
const libxl_domain_build_info *info)
|
||||
{
|
||||
int res;
|
||||
@@ -268,8 +269,9 @@ static int make_chosen_node(libxl__gc *gc, void *fdt, bool ramdisk,
|
||||
res = fdt_begin_node(fdt, "chosen");
|
||||
if (res) return res;
|
||||
|
||||
if (info->cmdline) {
|
||||
res = fdt_property_string(fdt, "bootargs", info->cmdline);
|
||||
if (state->pv_cmdline) {
|
||||
LOG(DEBUG, "/chosen/bootargs = %s", state->pv_cmdline);
|
||||
res = fdt_property_string(fdt, "bootargs", state->pv_cmdline);
|
||||
if (res) return res;
|
||||
}
|
||||
|
||||
@@ -831,7 +833,7 @@ next_resize:
|
||||
FDT( fdt_begin_node(fdt, "") );
|
||||
|
||||
FDT( make_root_properties(gc, vers, fdt) );
|
||||
FDT( make_chosen_node(gc, fdt, !!dom->ramdisk_blob, info) );
|
||||
FDT( make_chosen_node(gc, fdt, !!dom->ramdisk_blob, state, info) );
|
||||
FDT( make_cpus_node(gc, fdt, info->max_vcpus, ainfo) );
|
||||
FDT( make_psci_node(gc, fdt) );
|
||||
|
||||
|
||||