[Skiboot] [PATCH 00/22] xive: new interfaces, fixes and cleanups in a new driver
Cédric Le Goater
clg at kaod.org
Wed Sep 4 03:03:51 AEST 2019
Hello,
This series defines the high level XIVE interface for other drivers
using interrupts in OPAL : PHBs, PSI, NPU, and an operation backend to
prepare ground for the new processors and drivers (P10). The first use
of this backend is for a new P9 driver, which includes cleanups and
fixes.
The current driver offers a XICS emulation layer for older kernel
without XIVE native support. This emulation layer adds extra
complexity to the driver and a removal is proposed in the last
patches, but only in the new driver. Older kernels might still be
using it, none that are officially supported for P9.
The old XIVE driver is not removed, even if not used anymore, as it
would be interesting to keep it for the XICS emulation layer. We need
to find a way to activate it at runtime (I don't think we can use the
NVRAM though) or restrict its use to the XICS layer.
The new P10 driver is based on top of these new interfaces but it is
too early to include it.
Comments on how
Thanks,
C.
Cédric Le Goater (22):
xive: introduce header files for the registers
xive: minor cleanup of the interface
xive: use MMIO access for VC_EQC_CONFIG
xive: introduce an operation backend for current and new drivers
xive/p9: add a new driver
xive/p9: remove code not using indirect mode
xive/p9: remove code not using block group mode
xive/p9: remove dead code
xive/p9: obsolete OPAL_XIVE_IRQ_*_VIA_FW flags
xive/p9: obsolete OPAL_XIVE_IRQ_SHIFT_BUG flags
xive/p9: fix EQ bitmap assignment when allocation fails
xive/p9: fix silent escalation EQ setup
xive/p9: cleanup all EQs when a VP block is freed.
xive/p9: remove ACK# setting in the NVT
xive/p9: introduce NVT_SHIFT
xive/p9: remove XIVE_INT_SAFETY_GAP
xive/p9: use predefined bitmasks to manipulate EQ addresses
xive/p9: introduce the ESB magic MMIO offsets
xive/p9: remove XICS emulation
xive/p9: remove percpu logging
xive/p9: remove XICS emulation OPAL calls
xive/p9: rework IRQ number encoding
include/interrupts.h | 1 -
include/opal-api.h | 6 +-
include/skiboot.h | 1 -
include/xive-p9-regs.h | 399 ++++
include/xive-regs.h | 115 ++
include/xive.h | 488 +----
core/fast-reboot.c | 2 +-
hw/phb4.c | 1 +
hw/slw.c | 1 +
hw/xive-p9.c | 4081 ++++++++++++++++++++++++++++++++++++++++
hw/xive.c | 151 +-
hw/Makefile.inc | 2 +-
12 files changed, 4754 insertions(+), 494 deletions(-)
create mode 100644 include/xive-p9-regs.h
create mode 100644 include/xive-regs.h
create mode 100644 hw/xive-p9.c
--
2.21.0
More information about the Skiboot
mailing list