On 2025-03-06 20:59, Stefano Stabellini wrote:
On Thu, 6 Mar 2025, Jason Andryuk wrote:

@@ -697,7 +703,7 @@ static int __init alloc_xenstore_evtchn(struct domain *d)
      int rc;
alloc.dom = d->domain_id;
-    alloc.remote_dom = hardware_domain->domain_id;
+    alloc.remote_dom = xs_domid;

This...

      rc = evtchn_alloc_unbound(&alloc, 0);
      if ( rc )
      {

@@ -767,16 +769,10 @@ static int __init alloc_xenstore_params(struct 
kernel_info *kinfo)
      struct domain *d = kinfo->d;
      int rc = 0;
- if ( kinfo->dom0less_feature & (DOM0LESS_XENSTORE | DOM0LESS_XS_LEGACY) )
-    {
-        ASSERT(hardware_domain);
-        rc = alloc_xenstore_evtchn(d);

This patch looks correct. However, I don't understand why you didn't
keep the call to alloc_xenstore_evtchn in alloc_xenstore_params.

alloc_xenstore_evtchn() needs to be delayed so that xs_domid is available.

Regards,
Jason

Reply via email to