[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 3/8] xen: carve out grant tab initialization into dedicated function



On Wed, Nov 29, 2017 at 02:46:45PM +0100, Juergen Gross wrote:
> Initialize the grant tab in a dedicated function. This will enable
> using it for PVH guests, too.
>
> Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
> ---
>  grub-core/kern/xen/init.c | 35 +++++++++++++++++++++--------------
>  1 file changed, 21 insertions(+), 14 deletions(-)
>
> diff --git a/grub-core/kern/xen/init.c b/grub-core/kern/xen/init.c
> index 0559c033c..29f5bc23d 100644
> --- a/grub-core/kern/xen/init.c
> +++ b/grub-core/kern/xen/init.c
> @@ -318,6 +318,25 @@ grub_xenstore_dir (const char *dir,
>
>  unsigned long gntframe = 0;
>
> +static void
> +grub_xen_setup_gnttab (void)
> +{
> +  struct gnttab_set_version gnttab_setver;
> +  struct gnttab_setup_table gnttab_setup;
> +
> +  grub_memset (&gnttab_setver, 0, sizeof (gnttab_setver));
> +
> +  gnttab_setver.version = 1;
> +  grub_xen_grant_table_op (GNTTABOP_set_version, &gnttab_setver, 1);
> +
> +  grub_memset (&gnttab_setup, 0, sizeof (gnttab_setup));
> +  gnttab_setup.dom = DOMID_SELF;
> +  gnttab_setup.nr_frames = 1;
> +  gnttab_setup.frame_list.p = &gntframe;
> +
> +  grub_xen_grant_table_op (GNTTABOP_setup_table, &gnttab_setup, 1);
> +}
> +
>  #define MAX_N_UNUSABLE_PAGES 4
>
>  static int
> @@ -357,26 +376,12 @@ map_all_pages (void)
>      (grub_xen_mfn_t *) grub_xen_start_page_addr->mfn_list;
>    grub_uint64_t *pg = (grub_uint64_t *) window;
>    grub_uint64_t oldpgstart, oldpgend;
> -  struct gnttab_setup_table gnttab_setup;
> -  struct gnttab_set_version gnttab_setver;
>    grub_size_t n_unusable_pages = 0;
>    struct mmu_update m2p_updates[2 * MAX_N_UNUSABLE_PAGES];
>
>    if (total_pages > MAX_TOTAL_PAGES - 4)
>      total_pages = MAX_TOTAL_PAGES - 4;
>
> -  grub_memset (&gnttab_setver, 0, sizeof (gnttab_setver));
> -
> -  gnttab_setver.version = 1;
> -  grub_xen_grant_table_op (GNTTABOP_set_version, &gnttab_setver, 1);
> -
> -  grub_memset (&gnttab_setup, 0, sizeof (gnttab_setup));
> -  gnttab_setup.dom = DOMID_SELF;
> -  gnttab_setup.nr_frames = 1;
> -  gnttab_setup.frame_list.p = &gntframe;
> -
> -  grub_xen_grant_table_op (GNTTABOP_setup_table, &gnttab_setup, 1);
> -
>    for (j = 0; j < total_pages - n_unusable_pages; j++)
>      while (!grub_xen_is_page_usable (mfn_list[j]))
>        {
> @@ -537,6 +542,8 @@ grub_machine_init (void)
>                          + GRUB_KERNEL_MACHINE_MOD_GAP,
>                          GRUB_KERNEL_MACHINE_MOD_ALIGN);
>
> +  grub_xen_setup_gnttab ();
> +

I am OK with this patch itself but I am not sure why you are moving grant
setup from map_all_pages() to grub_machine_init(). Is it by mistake or by
purpose? If by purpose please explain why in the commit message.

Daniel

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.