[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
|