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