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

Re: BUG during vgic3 ITS mapping


  • To: Jason Andryuk <jason.andryuk@xxxxxxx>, Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Stewart Hildebrand <stewart.hildebrand@xxxxxxx>
  • Date: Wed, 9 Jul 2025 11:53:19 -0400
  • 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=btJMxtv71gZkTbi84YyZ7lOo3DnOgCPEB0p0IDCgzMc=; b=GqDs+lXEx45C0pLKF0j+lVAVL16pnY/o5juoFLmGlX3BoI4xZvCZiuPQLkVDnzJkqkjL48ZmWvFnqA3ZkPoHy+wIdXfxE9z9PzAjmiQxqrWz5p8Zg3pbHSswCX8DSij7QNNHBBSZyXPU1rRKFV28G6FdCwY8ustFplfDiBoOTSDJZVj7lT2XnYaAzpRE6+mQRdTVkK2t78PQGQ2HNbrH3eGAYahdxAXsxfsWzKzmLtfo55lU0o/CV7xbSJgef0Ep42Fe2O8L1kOPRKleRiKADp9n1rKS9CHOorLmLEHzFWjliM2EaTY+U0viSMCNoz1kasr8Yw5Yk6ZCrPhGZmbCig==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=nmhOcppUe7rR1Wbc1N+boprZ7cxAK9OBkc7esYiXxWMDOnl0qWgXxfAQDRySu1iuD/OeIpf4OGEId4BM0Y0Cw0tK5qpohOA+AKCaXAP3hlHBUW+27rNvu/N474PIbeMkPr993h1CcIe8vGoq4njGWvOvkAMQLdTwvbseLVOJfOUvANZpa7PCrYaD/p+Ie4RJVDKTRmjqIrs0Vn29aLAWACzrPZ5z64KnLruZ1xwlMGLjWVJeYXL/YKiFeQvosKzv6LjL5bm/JQgK/T5JL4NyFpY19EyTEhw62BbtJiSyo79RYBT1iCSmQjy6aV22p/x8ZvgG6vC4ax0MqyyZCdLR8Q==
  • Cc: <Mykyta_Poturai@xxxxxxxx>, <rahul.singh@xxxxxxx>
  • Delivery-date: Wed, 09 Jul 2025 15:53:33 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 7/9/25 11:16, Jason Andryuk wrote:
> Hi,
> 
> I'm running Xen in QEMU with vgic3 and started hitting:
> 
> (XEN) Xen BUG at drivers/passthrough/arm/iommu_helpers.c:49
> 
>     BUG_ON(!is_domain_direct_mapped(d));
> 
> I'm using dmo0less to create a split hardware and control domains.  That 
> means hwdom is not direct mapped, but is_iommu_enabled() is true.  It looks 
> to be caused by the new call to iommu_map() in:
> 
> commit f9f6b22abf1d8d88c97fbc9925b274c0bb4ac881
> Author: Rahul Singh <rahul.singh@xxxxxxx>
> Date:   Wed Jul 2 07:10:03 2025 +0000
> 
>     xen/arm: Map ITS doorbell register to IOMMU page tables
> 
> Thoughts on how to address this?

I think the BUG_ON in question wants changing to:

-    BUG_ON(!is_domain_direct_mapped(d));
+    BUG_ON(!domain_use_host_layout(d));

... along with an appropriate update of the comment prior to this line.

I suspect a cache colored hwdom/dom0 would also stumble here.

In the future when we will support vITS for domUs, we may want to remove
the BUG_ON entirely [1], but for now the ITS doorbell mapping is still
expected to be DFN == MFN.

[1] 
https://github.com/Xilinx/xen/commit/d814f9d13a51625bdaca9299d36272ee393e7ddc

> Thanks,
> Jason
> 
> (XEN) Loading d1 initrd from 0000000045800000 to 
> 0x0000000048200000-0x000000004bdcd615
> (XEN) Loading d1 DTB to 0x0000000048000000-0x00000000480005c4
> (XEN) Xen BUG at drivers/passthrough/arm/iommu_helpers.c:49
> (XEN) ----[ Xen-4.21-unstable  arm64  debug=y  Tainted: I      ]----
> (XEN) CPU:    0
> (XEN) PC:     00000a000024c758 arm_iommu_map_page+0x80/0x90
> (XEN) LR:     00000a000024c750
> (XEN) SP:     00000a000032fb70
> (XEN) CPSR:   0000000080000249 MODE:64-bit EL2h (Hypervisor, handler)
> ...
> (XEN) Xen call trace:
> (XEN)    [<00000a000024c758>] arm_iommu_map_page+0x80/0x90 (PC)
> (XEN)    [<00000a000024c750>] arm_iommu_map_page+0x78/0x90 (LR)
> (XEN)    [<00000a0000250884>] iommu_map+0xcc/0x29c
> (XEN)    [<00000a0000288024>] vgic_v3_its_init_domain+0x18c/0x1e8
> (XEN)    [<00000a0000285228>] vgic-v3.c#vgic_v3_domain_init+0x168/0x21c
> (XEN)    [<00000a0000281dcc>] domain_vgic_init+0x14c/0x210
> (XEN)    [<00000a00002705a4>] arch_domain_create+0x150/0x1f0
> (XEN)    [<00000a00002055e8>] domain_create+0x47c/0x6c0
> (XEN)    [<00000a00002cf090>] create_domUs+0x7f8/0x8cc
> (XEN)    [<00000a00002eb588>] start_xen+0x8f4/0x998
> (XEN)    [<00000a000020018c>] head.o#primary_switched+0x4/0x10
> (XEN)
> (XEN)
> (XEN) ****************************************
> (XEN) Panic on CPU 0:
> (XEN) Xen BUG at drivers/passthrough/arm/iommu_helpers.c:49
> (XEN) ****************************************
> (XEN)
> (XEN) Reboot in five seconds...




 


Rackspace

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