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

[RFC PATCH v1 09/26] xen/arm: vpl011: expose VPL011 presence to Arm code


  • To: xen-devel@xxxxxxxxxxxxxxxxxxxx
  • From: Koichiro Den <den@xxxxxxxxxxxxx>
  • Date: Fri, 15 May 2026 13:07:55 +0900
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=valinux.co.jp; dmarc=pass action=none header.from=valinux.co.jp; dkim=pass header.d=valinux.co.jp; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=clH4lYO5wbmlpaQIs7uoidyKQIOc+adymnvGpmXm3os=; b=kpNicKWiRaUN7GCt9/Qtc8hUoe/br8BZjYpAasP6RzteiVd3vGVUKwquvGgVUbejdf457t5CJVFZyI/jbr7oa4i8TsL16MauDQXHmw17lk7HrW3Zccv1/JyIPDXFT8krc5nfihlpzGpJb58Q7JI82eV/ZJC7+CfLV+/0Kq4UbuFGooQmzufrh6GWIr21ZEe2K2a05UMALGn3a4MOwUzaY3J9yiSEpRQOdeM7Ff6ERfrnpii1F3a0r346Xc73+NjYU6sJ/88CwHK5d8aQABBDcUOijOGRH9EpHXzsA9kBr/X2DQ9x89LRKhIzgkZmJ/d8IIr/PFzI+n2bdbf7+tW8dw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=M+j7WgkLsNNsUQog+JY3HCqRFlPzGEoa0WezZYwDI6uxBVtvu6Fv8K3mrmtZlPSLJ6DPGW9WE74Aq6kRK50IRYU+J0AEy6EOTZBb+KkZpb++g0IzPqEPaJlJ9x+3YxLuW4ptW/KbdwDRgld7nVr743fYeH+XfpWVgq0Deo3O0ehtIyySu0HR0cn8hnXN3K4iWtix0eEWtL3+9QOYqQUjcLU7SQbvlz9lp5sgqzb/lUVN6tqaQEGRRHRfdQJdDKzHzM9mMAEGuC6ZM5L9iNp+Rd4+/iVDPKyCHChcKWY2txrGB9qzS2aHC/FJyswBLAANmVqoXOk2zokaLhT8mcJtAw==
  • Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=valinux.co.jp header.i="@valinux.co.jp" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=valinux.co.jp;
  • Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Julien Grall <julien@xxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, "Daniel P. Smith" <dpsmith@xxxxxxxxxxxxxxxxxxxx>, Juergen Gross <jgross@xxxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Delivery-date: Fri, 15 May 2026 04:08:39 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

Let Arm code ask whether a domain has an SBSA VUART. Realm validation
uses this to keep the clear-text debug console behind a Kconfig choice.

Signed-off-by: Koichiro Den <den@xxxxxxxxxxxxx>
---
 xen/arch/arm/include/asm/vpl011.h | 5 +++++
 xen/arch/arm/vpl011.c             | 5 +++++
 2 files changed, 10 insertions(+)

diff --git a/xen/arch/arm/include/asm/vpl011.h 
b/xen/arch/arm/include/asm/vpl011.h
index cc838682815c..35d08556785a 100644
--- a/xen/arch/arm/include/asm/vpl011.h
+++ b/xen/arch/arm/include/asm/vpl011.h
@@ -69,6 +69,7 @@ struct vpl011_init_info {
 int domain_vpl011_init(struct domain *d,
                        struct vpl011_init_info *info);
 void domain_vpl011_deinit(struct domain *d);
+bool domain_has_vpl011(const struct domain *d);
 int vpl011_rx_char_xen(struct domain *d, char c);
 #else
 static inline int domain_vpl011_init(struct domain *d,
@@ -78,6 +79,10 @@ static inline int domain_vpl011_init(struct domain *d,
 }
 
 static inline void domain_vpl011_deinit(struct domain *d) { }
+static inline bool domain_has_vpl011(const struct domain *d)
+{
+    return false;
+}
 #endif
 #endif  /* _VPL011_H_ */
 
diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c
index d0d17c76b72c..05a03a5ce5d0 100644
--- a/xen/arch/arm/vpl011.c
+++ b/xen/arch/arm/vpl011.c
@@ -747,6 +747,11 @@ out:
     return rc;
 }
 
+bool domain_has_vpl011(const struct domain *d)
+{
+    return d->arch.vpl011.backend.dom.ring_buf != NULL;
+}
+
 void domain_vpl011_deinit(struct domain *d)
 {
     struct vpl011 *vpl011 = &d->arch.vpl011;
-- 
2.51.0




 


Rackspace

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