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

[PATCH v8 20/26] emul/ns16x50: resolve physical IRQ sharing


  • To: xen-devel@xxxxxxxxxxxxxxxxxxxx
  • From: dmukhin@xxxxxxxx
  • Date: Wed, 11 Nov 2026 11:47:54 -0800
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 148.163.138.245) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=ford.com; dkim=pass (signature was verified) header.d=saarlouis.ford.com; dkim=pass (signature was verified) header.d=ford.com; arc=none (0)
  • 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=KZ4kuiQbR7ytGDa/ITuwsTW63qYCKcHw+T/lUr/s4eM=; b=pIMN0WxYJq0taPrzftMx57PMZSfWlm9wcGhr30c7LKjLpjccdAgurSayXVPT2bGKll9dkShxM9s0MdKStmFz9TS/qkeBcyzPIjEM2F7UVo2+1pbohrOhhiZAaHznscLTYK/UG2Uq9V2dXDPeaKaZxlF5jdodihworWi9umn3jXh0Cey75fUOkLu39gIfib6HrS5fGQBDA+EllcGwmlR8Ja+N+CKfA7lTbA8qpWjpG9rLBb9R58swvBUkikE3rhJA2Cd2iSUcapDlet3Ps0hVYenZdHqPXFH7aU1/TGUXH5fWLpEWcJiIbLbA+xdYT67DMhGwpXP0sCeZJoifQeU6sw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=zSR2g3OO8KVc8SONIPPKk0ggzcY5god7ZZhwWnoUNJgwBgJjkxDBEfMq+Wmw3gx+WI9pzgFOAw07MuCvj5WOGHGw6IAz1u95kTSMxOzpZQ9Me/zqR5MXg0h8dRYx9rUXtMMd+Ar8D8t6HSgR1Dy5yflle/W+7JjZQfMpFQNdC5LmmvA/NHGAkVPR2zKIl6740B7HRvnJRHtc9WcZ745rxnY5fAnSG/FlkO3oOkKZNLfgtRKiYOlPaTGk2lcLmJcBaZVhLbiMb9tyKwmCLI///1CbSyZCOOwweK/WRea6hZDNh7YwjkZha7pa26Kx489eI92lQYcL1AvnbJoXLQZNOw==
  • Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"
  • Cc: andrew.cooper3@xxxxxxxxxx, anthony.perard@xxxxxxxxxx, jbeulich@xxxxxxxx, julien@xxxxxxx, michal.orzel@xxxxxxx, roger@xxxxxxxxxxxxxx, sstabellini@xxxxxxxxxx, xakep.amatop@xxxxxxxxx, dmukhin@xxxxxxx, Denis Mukhin <dmukhin@xxxxxxxx>
  • Delivery-date: Wed, 11 Nov 2026 19:49:17 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Pser-m365-app: SER-APP

From: Denis Mukhin <dmukhin@xxxxxxxx>

Make sure that NS16550 emulator does not share virtual device IRQ with
the physical one. This is needed for enabling NS16550 emulator for PVH
hwdom (dom0).

Signed-off-by: Denis Mukhin <dmukhin@xxxxxxxx>
---
 xen/common/emul/vuart/ns16x50.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/xen/common/emul/vuart/ns16x50.c b/xen/common/emul/vuart/ns16x50.c
index 97e12a99368a..389c58f94198 100644
--- a/xen/common/emul/vuart/ns16x50.c
+++ b/xen/common/emul/vuart/ns16x50.c
@@ -931,6 +931,17 @@ static int ns16x50_init(void *arg)
     else
         ASSERT_UNREACHABLE();
 
+    /*
+     * Disallow sharing physical IRQ.
+     */
+    rc = irq_deny_access(d, info->irq);
+    if ( rc )
+    {
+        ns16x50_err(info, "virtual IRQ#%d: conflict w/ physical IRQ: %d\n",
+                    info->irq, rc);
+        return rc;
+    }
+
     ns16x50_reset(vdev);
 
     ns16x50_irq_check(vdev);
-- 
2.56.0




 


Rackspace

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