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

Re: [RFC 3/6] roles: add a role for xenstore domain


  • To: Stefano Stabellini <sstabellini@xxxxxxxxxx>
  • From: "Daniel P. Smith" <dpsmith@xxxxxxxxxxxxxxxxxxxx>
  • Date: Thu, 3 Aug 2023 10:13:02 -0400
  • Arc-authentication-results: i=1; mx.zohomail.com; dkim=pass header.i=apertussolutions.com; spf=pass smtp.mailfrom=dpsmith@xxxxxxxxxxxxxxxxxxxx; dmarc=pass header.from=<dpsmith@xxxxxxxxxxxxxxxxxxxx>
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1691071986; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=HXc+4giYhO4aml0XV6KxKu9+fo/2k40iM5wQljtnt8c=; b=auoX3PJFjZ0JKCPWQxrfyRoNBLeL95unHoViE6LSfeHyo113goRAvUriQwxx9gccCA4cl7JML7tgjY9xCfuUGfmUHjdSMpBSYcuxKbF82bxcGNALymr0SfudBCMsWQtNQa2LOt2E9OyXbhj8tMAYaFjNCffI9/JDPKSO6EarCHk=
  • Arc-seal: i=1; a=rsa-sha256; t=1691071986; cv=none; d=zohomail.com; s=zohoarc; b=GJfbRKFRS+y/0O+Mj7Mdf8Z65xM2UpksYeqiD1E2Fz2XbSCk1HPPuIuXSf6pSJ+Znxp+FfXvm3tmx5WWmh7lMcLsFChJiyXnKJEnCISXBiR+NY5I+3LzN0IPyx3sRrbaAOWQ7kZpk2c+uG+bhwoZ//NVGedm6Bhgd5g9BirVbTI=
  • Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Julien Grall <julien@xxxxxxx>, Wei Liu <wl@xxxxxxx>
  • Delivery-date: Thu, 03 Aug 2023 14:13:14 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 8/1/23 20:57, Stefano Stabellini wrote:
On Tue, 1 Aug 2023, Daniel P. Smith wrote:
Expand the possible roles for a domain to include a role for the Xenstore
domain.

Signed-off-by: Daniel P. Smith <dpsmith@xxxxxxxxxxxxxxxxxxxx>

Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>

Thank you!

---
  xen/common/domain.c     | 3 +++
  xen/include/xen/sched.h | 3 ++-
  2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/xen/common/domain.c b/xen/common/domain.c
index 0ff1d52e3d..dbf055c559 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -633,6 +633,9 @@ struct domain *domain_create(domid_t domid,
          d->role |= ROLE_HARDWARE_DOMAIN;
      }
+ if ( d->options & XEN_DOMCTL_CDF_xs_domain )
+        d->role |= ROLE_XENSTORE_DOMAIN;
+
      TRACE_1D(TRC_DOM0_DOM_ADD, d->domain_id);
lock_profile_register_struct(LOCKPROF_TYPE_PERDOM, d, domid);
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 695f240326..ec0f9baff6 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -470,6 +470,7 @@ struct domain
  #define ROLE_UNBOUNDED_DOMAIN  (1U<<0)
  #define ROLE_CONTROL_DOMAIN    (1U<<1)
  #define ROLE_HARDWARE_DOMAIN   (1U<<2)
+#define ROLE_XENSTORE_DOMAIN   (1U<<3)
      uint8_t          role;
      /* Can this guest access the Xen console? */
      bool             is_console;
@@ -1165,7 +1166,7 @@ static inline bool is_vcpu_online(const struct vcpu *v)
static inline bool is_xenstore_domain(const struct domain *d)
  {
-    return d->options & XEN_DOMCTL_CDF_xs_domain;
+    return d->role & ROLE_XENSTORE_DOMAIN;
  }
static always_inline bool is_iommu_enabled(const struct domain *d)
--
2.20.1




 


Rackspace

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