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

Re: [PATCH v4 2/4] xen/arm: its: separate ITS and host LPI quirk scopes


  • To: Mykola Kvach <mykola_kvach@xxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: "Orzel, Michal" <michal.orzel@xxxxxxx>
  • Date: Fri, 23 Oct 2026 12:51:44 +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=lAiXEQCjExiPtPM1a9kg9wHyqKh1FfG7IwLrLQIB2zQ=; b=IzyT8+t7Q7/QSRLMMfO/mYTYi5WnHlslqBWYfk9uiMComzGamoFS2amLtsj6KheZFFdHIOcVoq8mRWHDTmKfnyx03S04sjAbq98v50yfoSdD0MUWteIupcuqM4Y8qBhCUSTqnEcXajn0pOac9F1DLJQ1dUwyGv+XoDN8blElDd6z4om6jmsQZySMH0bFprWCMbkz44k+s/6B5WZbxrY4/cGb1qXCZczjG2TNAL1re3PEcGCgir/ZkN1a0FF49BaADP6qi2iLREKaYiAskEGg/Lfx0X9XFNOlAtiymVSu1XNjNocId2Y1BIrR00MJDhpeKpIVbCj8mmBgn2t7FlvnRA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=fHDagjJxmbznCIZO3ZbPQRIe4/B9rM2roMwlYT+DzzFLkH0y6xooCuOVSiygVp1/80H/2Nm8IJw33HubYl7gfQp/Kl5TvzQRPaqAL+qL9s/M9AqUbqdDnZSzx9mNXRkda6jY8ytR5HoTmbN2F7UiX2PufgaMY9IsOlgjMqvh3x9abynEX/i8J0KVNCXYWSyaWZQo5jqZyFEXPi3fl1YqF3fH7jTpsiuC3uUXfK2lbzE0JUZG1NHSIbmkF6QDGw/3VsSba4a4s7H6NmvYf1hCxAbr7xcq94YRSGP6xYJPGbATivW1sjltVvnepaBmNwECEOhlnT7XAMpBH3qXzXBbaQ==
  • 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:51:55 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>


On 29-Sep-26 21:02, Mykola Kvach wrote:
> ITS quirks can impose restrictions on memory accessed by the ITS itself
> and on shared host LPI/Redistributor state. These scopes are not
> identical, so a single global ITS quirk state makes the host LPI policy
> depend implicitly on the quirks seen while initializing host ITSes.
> 
> Add per-ITS quirk_flags to struct host_its and keep a separate
> host_lpi_flags state in the LPI code. The quirk table now records the
> ITS-private and host LPI scopes explicitly through its_flags and
> lpi_flags. The R-Car Gen4 quirk applies the same memory restrictions to
> both scopes, preserving the existing R-Car memory policy without relying
> on an implicit aggregation step.
> 
> This also removes the assumption that all host ITSes must expose the
> same quirk state. ITS-derived host LPI restrictions are accumulated only
> from quirk entries that explicitly set lpi_flags.
> 
> Use per-ITS quirk_flags for GITS_CBASER, GITS_BASER<n>, and ITT
> allocations. Use host_lpi_flags when allocating the property and pending
> tables and when programming GICR_PROPBASER and GICR_PENDBASER.
> Memory-related quirk bits are named GICV3_QUIRK_MEM_* and are translated
> by shared gicv3_mem_get_*() helpers.
> 
> Collect both scopes during the ITS preparation pass, before host LPI
> state is allocated. Keep init-only annotations and includes in the
> implementation files rather than the public header.
> 
> 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®.