On Thu, 3 Apr 2025, Jason Andryuk wrote: > The hardware domain is unable to seed a control domain, but we want the > control domain to use xenstore. Rely on the hypervisor to seed dom0less > grant table entries for Xenstore, so this seeding is unnecessary. > > However, that only works for the new xenstore late init. The legacy > protocol which uses init-dom0less to populate the page still needs to > seed the grant. > > Signed-off-by: Jason Andryuk <jason.andr...@amd.com>
I was thinking whether it is an issue that we change behavior of init-dom0less for the new protocol. I convinced myself it is not an issue because init-dom0less is supposed to be a matched set with the Xen hypervisor version. I also thought whether we could check if the call to xc_dom_gnttab_seed is needed and only do it if it is, so that init-dom0less.c could be less depedent on the specific Xen behavior. Overall I thought it is not worth it, so: Reviewed-by: Stefano Stabellini <sstabell...@kernel.org> > --- > tools/helpers/init-dom0less.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/tools/helpers/init-dom0less.c b/tools/helpers/init-dom0less.c > index 17579fe2e8..91edf17b6c 100644 > --- a/tools/helpers/init-dom0less.c > +++ b/tools/helpers/init-dom0less.c > @@ -286,12 +286,12 @@ static int init_domain(struct xs_handle *xsh, > xenstore_pfn); > if (rc < 0) > return rc; > - } > > - rc = xc_dom_gnttab_seed(xch, info->domid, true, > - (xen_pfn_t)-1, xenstore_pfn, 0, 0); > - if (rc) > - err(1, "xc_dom_gnttab_seed"); > + rc = xc_dom_gnttab_seed(xch, info->domid, true, > + (xen_pfn_t)-1, xenstore_pfn, 0, 0); > + if (rc) > + err(1, "xc_dom_gnttab_seed"); > + } > > libxl_uuid_generate(&uuid); > xc_domain_sethandle(xch, info->domid, libxl_uuid_bytearray(&uuid)); > -- > 2.49.0 > >