From: Mykola Kvach <mykola_kvach@epam.com>
This series cleans up ARM GICv3 ITS quirk handling and fixes the point at
which quirk-derived memory attributes become visible to the LPI setup path.
The first patch switches the quirk handling from per-entry init callbacks to
declarative flags and folds in the DT dma-noncoherent property when deriving
the effective ITS attributes.
The second patch extends quirk matching with an optional platform callback so
that boards sharing the same IIDR can still be distinguished reliably. This
is then used by the third patch to add the Orange Pi 5 ITS quirk for
RK3588/RK3588S boards.
Finally, the last patch moves ITS quirk discovery and validation earlier in
the boot flow, before host LPI tables are initialized, so the boot CPU does
not allocate and program LPI data structures with default attributes when the
platform requires different ones.
Mykola Kvach (4):
xen/arm: its: collect quirk flags and honor dma-noncoherent
xen/arm: its: add platform match callback for ITS quirks
xen/arm: its: add Orange Pi 5 ITS quirk
xen/arm: its: pre-initialize ITS quirks before LPI setup
xen/arch/arm/gic-v3-its.c | 129 +++++++++++++++++++-------
xen/arch/arm/gic-v3.c | 7 ++
xen/arch/arm/include/asm/gic_v3_its.h | 5 +
3 files changed, 107 insertions(+), 34 deletions(-)
--
2.43.0