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

[PATCH 1/4] arm/domain: Update SBSA_VUART_CONSOLE config option handling


  • To: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Milan Djokic <milan_djokic@xxxxxxxx>
  • Date: Fri, 5 Dec 2025 20:36:42 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com; dkim=pass header.d=epam.com; 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=H9U3lVm3LdZ4OeMGAuKbjx6qHerHHmDtfUlIblUbFDM=; b=mURkJR74nTDr7U6KjLSby/vonmgjo6LuM7lBnKrwN92e5ZH9S/nsAnKOzKav8WrCLypjaAWSszwMww8/9RFO0QbIdIL5GnO2NlSVL8q1p09WYBRA0sCMqlPO2AFCcuMCzdUa2OviPB5/c4nX4t+3V+i/HIujRyzCqHla6HuJMGAEThTqs37N6QcFr0DiPA/4Ah+L/CgZpXDhha455ZPbqkaE9KrgQU5pgyyKtEQvJyJQ3EwzKv42jZa9Ww6MBCul1oVNm1PKVlvCy4UHdgAqqw+CzK8sqS72XHyh9OSwjlIkMnpRxCp0WPVuc+7RcZHzmzbyYMRP2O9l2HFaLgZAXQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=CKm3mAZ7hEXoJ5rHtfeeOU728sqESQjmyFUgxNxkDYnGE60w6EUeoLP/fPtYzZc1dkdtQuVRkrjvHS92m5mVvvq0mSMTOyoqgTCtXqh4Bbg+Bwau68JVE44OSov3VPtXr75JDp/pcF7TOdKKOOQ/JHPCsmDXKDzxNlEfQyyDjztpM/AiETK/XzzIUsqYk44GqCUBEKVpwP8wClhFATbDx5i+EKYxqr2sNhriEOUUdnBs2ze+cOVHh4+MhJMpwP4jTHXIgZVGGRU7/dSgr3vlcPKbqr6hQ5Xnutb+6HbwSZC+lG153HPBb5k4t3HuslVnF1SBGZr0lNbMmyIeFHIENQ==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=epam.com;
  • Cc: Milan Djokic <milan_djokic@xxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Delivery-date: Fri, 05 Dec 2025 20:36:55 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHcZibd6UEW2KUo/EaT5vMEhVUoyA==
  • Thread-topic: [PATCH 1/4] arm/domain: Update SBSA_VUART_CONSOLE config option handling

Update XEN_DOMCTL_vuart_op command handling to return -EOPNOTSUPP when
vpl011 is disabled, informing the control domain that this feature
is unavailable.
Added dom0less config sanity check for vpl011 property

Signed-off-by: Milan Djokic <milan_djokic@xxxxxxxx>
---
 xen/arch/arm/dom0less-build.c     | 4 ++++
 xen/arch/arm/domctl.c             | 3 +++
 xen/arch/arm/include/asm/vpl011.h | 2 +-
 3 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index 4181c10538..57980d2abe 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -322,6 +322,10 @@ int __init arch_parse_dom0less_node(struct dt_device_node 
*node,
     if ( domu_dt_sci_parse(node, d_cfg) )
         panic("Error getting SCI configuration\n");
 
+    if ( dt_property_read_bool(node, "vpl011") &&
+         !IS_ENABLED(CONFIG_SBSA_VUART_CONSOLE) )
+        panic("'vpl011' property found, but CONFIG_SBSA_VUART_CONSOLE not 
selected\n");
+
     if ( !dt_property_read_u32(node, "nr_spis", &d_cfg->arch.nr_spis) )
     {
         int vpl011_virq = GUEST_VPL011_SPI;
diff --git a/xen/arch/arm/domctl.c b/xen/arch/arm/domctl.c
index ad914c915f..250e20a9fb 100644
--- a/xen/arch/arm/domctl.c
+++ b/xen/arch/arm/domctl.c
@@ -156,6 +156,9 @@ long arch_do_domctl(struct xen_domctl *domctl, struct 
domain *d,
         unsigned int i;
         struct xen_domctl_vuart_op *vuart_op = &domctl->u.vuart_op;
 
+        if ( !IS_ENABLED(CONFIG_SBSA_VUART_CONSOLE) )
+            return -EOPNOTSUPP;
+
         /* check that structure padding must be 0. */
         for ( i = 0; i < sizeof(vuart_op->pad); i++ )
             if ( vuart_op->pad[i] )
diff --git a/xen/arch/arm/include/asm/vpl011.h 
b/xen/arch/arm/include/asm/vpl011.h
index cc83868281..b8f4d85651 100644
--- a/xen/arch/arm/include/asm/vpl011.h
+++ b/xen/arch/arm/include/asm/vpl011.h
@@ -74,7 +74,7 @@ int vpl011_rx_char_xen(struct domain *d, char c);
 static inline int domain_vpl011_init(struct domain *d,
                                      struct vpl011_init_info *info)
 {
-    return -ENOSYS;
+    return -EOPNOTSUPP;
 }
 
 static inline void domain_vpl011_deinit(struct domain *d) { }
-- 
2.43.0



 


Rackspace

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