[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH grub-core/kern/xen/init.c] pvgrub2 xen cmdline xenstore var t
From: |
Konrad Rzeszutek Wilk |
Subject: |
Re: [PATCH grub-core/kern/xen/init.c] pvgrub2 xen cmdline xenstore var to grubenv |
Date: |
Sat, 24 Oct 2015 20:46:44 -0400 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Fri, Oct 23, 2015 at 05:11:33PM -0700, Mark Pryor wrote:
> When entering the grub2 shell during a pvgrub2 boot, there is no info about
> the current
> domU in the grubenv (set). Starting with a patch submitted by Olaf Herring I
> exported
Which patch? Is there a name for it so it can be part of the
git commit history?
Thanks.
> the xenstore cmdline only.
>
> The env var, xen_cmdline, can then be used in the top level script used to
> make
> the pvgrub2 kernel blob.
>
> Signed-off-by: Mark Pryor <address@hidden>
> ---
> grub-core/kern/xen/init.c | 25 +++++++++++++++++++++++++
> 1 file changed, 25 insertions(+)
>
> diff --git a/grub-core/kern/xen/init.c b/grub-core/kern/xen/init.c
> index 0559c03..2a3112d 100644
> --- a/grub-core/kern/xen/init.c
> +++ b/grub-core/kern/xen/init.c
> @@ -524,6 +524,29 @@ map_all_pages (void)
> grub_mm_init_region ((void *) heap_start, heap_end - heap_start);
> }
>
> +/*
> + * Find all name=val pairs in the provided cmd_line and export them
> + * so that scripts can evaluate the variables for their own purpose.
> + */
> +static void
> +export_cmdline (void)
> +{
> + char *p;
> + const char *name="xen_cmdline";
> +
> + p = grub_malloc (MAX_GUEST_CMDLINE + 1);
> + if (!p)
> + return;
> +
> + grub_memcpy (p, grub_xen_start_page_addr->cmd_line, MAX_GUEST_CMDLINE);
> + p[MAX_GUEST_CMDLINE] = '\0';
> +
> + grub_env_set (name, p);
> + grub_env_export (name);
> +
> + grub_free (p);
> +}
> +
> extern char _end[];
>
> void
> @@ -539,6 +562,8 @@ grub_machine_init (void)
>
> map_all_pages ();
>
> + export_cmdline ();
> +
> grub_console_init ();
>
> grub_tsc_init ();
> --
> 2.1.4
>
>
> _______________________________________________
> Grub-devel mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/grub-devel