|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH for-4.6] libxl: use correct command line for arm guests.
On Thu, Aug 06, 2015 at 11:55:57AM +0100, Ian Campbell wrote:
> 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
libxl__bootloader_run
> condfigured.
>
> Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx>
> ---
> For 4.6: This makes pygrub work on ARM.
>
It's very low risk. Apply as you see fit.
> Should also be backported.
> ---
> tools/libxl/libxl_arm.c | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/tools/libxl/libxl_arm.c b/tools/libxl/libxl_arm.c
> index 42ab6d8..a310737 100644
> --- a/tools/libxl/libxl_arm.c
> +++ b/tools/libxl/libxl_arm.c
> @@ -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) );
>
> --
> 2.1.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |