mbox series

[v2,00/14] XIVE2 changes to support Group and Crowd operations

Message ID 20241210000527.9541-1-kowal@linux.ibm.com (mailing list archive)
Headers show
Series XIVE2 changes to support Group and Crowd operations | expand

Message

Michael Kowal Dec. 10, 2024, 12:05 a.m. UTC
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