Thanks, I merged this series with some tweaks, except for patch 12 Support ESB Escalation because it has some outstanding problems as commented.
Thanks, Nick On Tue Dec 10, 2024 at 10:05 AM AEST, Michael Kowal wrote: > XIVE2 has the concepts of a Group of interrupts and a Crowd of interrupts > (where a crowd is a group of Groups). These patch sets are associated with: > - NVGC tables > - Group/Crowd level notification > - Incrementing backlog countets > - Backlog processing > - NVPG and NVC Bar MMIO operations > - Group/Crowd testing > - ESB Escalation > - Pool interrupt testing > > version 2: > - Removed printfs from test models and replaced with g_test_message() > - Updated XIVE copyrights to use: > SPDX-License-Identifier: GPL-2.0-or-later > - Set entire NSR to 0, not just fields > - Moved rename of xive_ipb_to_pipr() into its own patch set 0002 > - Rename xive2_presenter_backlog_check() to > xive2_presenter_backlog_scan() > - Squash patch set 11 (crowd size restrictions) into > patch set 9 (support crowd-matching) > - Made xive2_notify() a static rou > > Frederic Barrat (10): > ppc/xive2: Update NVP save/restore for group attributes > ppc/xive2: Add grouping level to notification > ppc/xive2: Support group-matching when looking for target > ppc/xive2: Add undelivered group interrupt to backlog > ppc/xive2: Process group backlog when pushing an OS context > ppc/xive2: Process group backlog when updating the CPPR > qtest/xive: Add group-interrupt test > ppc/xive2: Add support for MMIO operations on the NVPG/NVC BAR > ppc/xive2: Support crowd-matching when looking for target > ppc/xive2: Check crowd backlog when scanning group backlog > > Glenn Miles (3): > pnv/xive: Support ESB Escalation > pnv/xive: Fix problem with treating NVGC as a NVP > qtest/xive: Add test of pool interrupts > > Michael Kowal (1): > ppc/xive: Rename ipb_to_pipr() to xive_ipb_to_pipr() > > include/hw/ppc/xive.h | 41 +- > include/hw/ppc/xive2.h | 25 +- > include/hw/ppc/xive2_regs.h | 30 +- > include/hw/ppc/xive_regs.h | 25 +- > tests/qtest/pnv-xive2-common.h | 1 + > hw/intc/pnv_xive.c | 10 +- > hw/intc/pnv_xive2.c | 166 +++++-- > hw/intc/spapr_xive.c | 8 +- > hw/intc/xive.c | 200 +++++--- > hw/intc/xive2.c | 750 +++++++++++++++++++++++++---- > hw/ppc/pnv.c | 35 +- > hw/ppc/spapr.c | 7 +- > tests/qtest/pnv-xive2-flush-sync.c | 6 +- > tests/qtest/pnv-xive2-nvpg_bar.c | 153 ++++++ > tests/qtest/pnv-xive2-test.c | 249 +++++++++- > hw/intc/trace-events | 6 +- > tests/qtest/meson.build | 3 +- > 17 files changed, 1475 insertions(+), 240 deletions(-) > create mode 100644 tests/qtest/pnv-xive2-nvpg_bar.c