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

[XEN PATCH v1 1/1] x86/vlapic: match broadcasts for logical destination mode


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Victor Lira <victorm.lira@xxxxxxx>
  • Date: Wed, 14 Jan 2026 23:55:48 +0000
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); 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=PH3djnAJYdyXCisb5N7pK2eva89Bdz1+TR97+9/YAiU=; b=m2mNdh44pro1s9V+cWIh+Dncpg51Izhf8moQ22vSHEsxcK5+JNS09XGCyI81AXEH7x0VFgP+T5h9m+haK+mrApZV9Kqn1IKCa7KVgYl5prvq/Gu4/AjySULdMpNh7Z8fZQYaiCmnCNcocpyip4L8vhu0ZnPNawaqIvpp3UFazcAIOrqzIbUdeqy1+mHzdPB2ayPSAqwPwm52xtLpC9eENLyqR8TFZP6koQPzu4owcZ02VzI6f+OoLG/CG2Yu1hLAyfwfOvVs8DwbNvrapL58EMX8rM0++yson3exgHbr0Nh2LxzH7BeZHubg5JdxQWdCPlYePNw78IIqfOtPHhTiMA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=I19nhdgREnO2j9Qc+KepZVpS118i84PkTFlSRTPdZ5toWULvloABEGJtBeyXtqw9XFRtTY4Wq8J9llO8ifeMVNgcqZiZmysQKz/E8CweUK3tTE7KnQCYRrUgGpV6HoCwATEqW0jcG2XEVm92ffXFZ8ZDbKiypgLscTEQuZrc0yONSj420M3+LnsykjvxAtkDk9iATxzMiEJ1LqFTnsIxdwYApxHJAVMMU5Z4gcGHIh63VYTtC34nRFzSL/Lb4wko/JA+eNrpS7NrEj5Cqlm9h7eM8KIPGsYmDtehvzG8cL65Ot0CKCf6aBDTIxHG2RjayTm93U54hUt1pmt0yattQA==
  • Cc: Jan Beulich <jbeulich@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Alejandro Vallejo <Alejandro.GarciaVallejo@xxxxxxx>
  • Delivery-date: Thu, 15 Jan 2026 00:27:38 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

amd64 vol 3
16.6.1: "In both the flat model and the cluster model, if the
destination field = FFh, the interrupt is accepted by all local APICs."
16.14: "A DEST value of FFFF_FFFFh in the ICR is used to broadcast
IPIs to all local APICs."

intel 64 vol 3
12.6.2.2: "Broadcast to all local APICs is achieved by setting all
destination bits to one."
12.12.9: "A destination ID value of FFFF_FFFFH is used
for broadcast of interrupts in both logical destination and physical
destination modes."

The specs say 0xFFFFFFFF/0xFF should be a broadcast to all APICs in
logical destination mode but it is matched only for cluster 0xFFFF/0xFF
(or as flat mode in xAPIC).

Add a check in vlapic_match_dest similar to what is done for physical
destination mode.

Signed-off-by: Victor Lira <victorm.lira@xxxxxxx>
---
 xen/arch/x86/hvm/vlapic.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index 79697487ba..1208cd21f0 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -248,7 +248,8 @@ bool vlapic_match_dest(
     {
     case APIC_DEST_NOSHORT:
         if ( dest_mode )
-            return vlapic_match_logical_addr(target, dest);
+            return (dest == _VLAPIC_ID(target, 0xffffffffU)) ||
+                   vlapic_match_logical_addr(target, dest);
         return (dest == _VLAPIC_ID(target, 0xffffffffU)) ||
                (dest == VLAPIC_ID(target));

--
2.51.GIT



 


Rackspace

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