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

Re: [PATCH v4 3/4] xen/arm: its: refactor ITS quirk matching


  • To: Mykola Kvach <mykola_kvach@xxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: "Orzel, Michal" <michal.orzel@xxxxxxx>
  • Date: Fri, 23 Oct 2026 12:52:00 +0200
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=epam.com 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=S24wAEEkFSNTXc6VFJq1FbrVnyrx2dW8ML5AM0H0y7s=; b=Zk41vkR2gYWXcFS9OIFsaZDWF7V9i8eSJoyMqno+IsMMRPeveHy/x4R0uHx+gB3LK7TO6n8C+CO3Mi0oGTxWxecHwvGt6NA3vhFKZAQMfbXc4D2M5BLdCJBPPnDydgX0IIywB68+Ig647Uzs+ltcP9kbCkGYzbkAb3Ux0vn4Pptq2Wyi6j7xhEt4jv5x8p8G60vM4lL/YOiSKrQdY3NO6JWZSEtbXr4JRVHCfteDhmRSij7uLUh/nQuBkJ+VgxFxI9Z88NqFlzvnHoBZTroghfyxwXrTQeamnlTGpjqi5i4eV7p/h7eyL/0AWdGFRpT5UqZmFT4dwDKD+hpEix5HSg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=R0n0V6UBnyPfz7FLbJsiJKHa5QiFsu9ZRkaof1sUfnPoioH8SpqPIexV2F6IKmvAmieIIl1C+Fqi7O6OobbpIzxEfwHNM2SBsXJZxMaIGIkKKyVUqNqDiD0Lu8O4IKNACOszRhGft6r9JQNSpYZRJZW1TVd0JU43YQF5Jdxw8ITWVM2Vhne6EROqVqrJwovXTQWWRWVVCBS999XgWHYritbNrr44d3ocl4MojEVo7uLrWATM8/wFd7wRDXz3R52/xiCN7WPvOsgLNaaNjYQJGMRmjEQ4MG5fKxeTiNoodYqfB1maKdFtUcoPtTJdBqKv82hhiLby94LiDSkpUhGviw==
  • Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
  • Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Delivery-date: Fri, 23 Oct 2026 10:52:15 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>


On 29-Sep-26 21:02, Mykola Kvach wrote:
> ITS quirks are matched only by IIDR and mask fields stored in each table
> entry. That is too coarse when the same GIC IP block appears on several
> platforms but a workaround is valid only for some of them.
> 
> Replace the fixed IIDR fields with a generic match(hw_its, data)
> callback and an opaque data pointer. Add an IIDR matcher as a reusable
> building block and use it from the R-Car Gen4 matcher after checking the
> Renesas machine compatibles.
> 
> This intentionally narrows the R-Car Gen4 quirk. Previously every ITS
> with IIDR 0x0201743b matched. Now it matches only a DT-discovered ITS on
> an r8a779f0 or r8a779g0 machine. ACPI-discovered ITSes and the same IIDR
> on other platforms no longer match.
> 
> Keep first-match semantics explicit. Use BUG_ON() if a non-sentinel
> entry has no matcher or the IIDR matcher receives no data. A broken
> entry must stop Xen in both debug and release builds, as skipping a
> required workaround could cause a failure later. Place the matcher data
> and table in init-only read-only sections.
> 
> The matched entry still supplies separate ITS and LPI flags; this patch
> only changes how the entry is selected.
> 
> Signed-off-by: Mykola Kvach <mykola_kvach@xxxxxxxx>
Reviewed-by: Michal Orzel <michal.orzel@xxxxxxx>

~Michal




 


Rackspace

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