[PATCH v2 0/2] ppc/pnv: ADU model for POWER9/10

Nicholas Piggin posted 2 patches 6 months, 2 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20240510141446.108360-1-npiggin@gmail.com
Maintainers: Nicholas Piggin <npiggin@gmail.com>, Daniel Henrique Barboza <danielhb413@gmail.com>, "Cédric Le Goater" <clg@kaod.org>, "Frédéric Barrat" <fbarrat@linux.ibm.com>
include/hw/ppc/pnv_adu.h   |  32 ++++++
include/hw/ppc/pnv_chip.h  |   3 +
include/hw/ppc/pnv_lpc.h   |   5 +
include/hw/ppc/pnv_xscom.h |   6 ++
hw/ppc/pnv.c               |  20 ++++
hw/ppc/pnv_adu.c           | 206 +++++++++++++++++++++++++++++++++++++
hw/ppc/pnv_lpc.c           |  12 +--
hw/ppc/pnv_xscom.c         |   9 --
hw/ppc/meson.build         |   1 +
hw/ppc/trace-events        |   4 +
10 files changed, 283 insertions(+), 15 deletions(-)
create mode 100644 include/hw/ppc/pnv_adu.h
create mode 100644 hw/ppc/pnv_adu.c
[PATCH v2 0/2] ppc/pnv: ADU model for POWER9/10
Posted by Nicholas Piggin 6 months, 2 weeks ago
These patches adds the framework for a proper ADU model rather than
putting registers into the xscom default ops, and implements ADU's
indirect LPC access functionality which IBM's proprietary firmware
uses to provide consoles on UARTs.

Patch 1 should be quite a simple hooking up the xscom address space.

Patch 2 implements one of the memory access functions of the ADU that
drives access to LPC address space from XSCOM register operations which
is non-trivial but there are similar examples already in tree.

Since v1:
- Changed to GPL-2.0-or-later
- Added an assertion for adu-lpc link
- Renamed funcions to pnv_lpc_opb_ prefix rather than pnv_opb_lpc_
- Removed the unnecessary ADU class

Thanks,
Nick

Nicholas Piggin (2):
  ppc/pnv: Begin a more complete ADU LPC model for POWER9/10
  ppc/pnv: Implement ADU access to LPC space

 include/hw/ppc/pnv_adu.h   |  32 ++++++
 include/hw/ppc/pnv_chip.h  |   3 +
 include/hw/ppc/pnv_lpc.h   |   5 +
 include/hw/ppc/pnv_xscom.h |   6 ++
 hw/ppc/pnv.c               |  20 ++++
 hw/ppc/pnv_adu.c           | 206 +++++++++++++++++++++++++++++++++++++
 hw/ppc/pnv_lpc.c           |  12 +--
 hw/ppc/pnv_xscom.c         |   9 --
 hw/ppc/meson.build         |   1 +
 hw/ppc/trace-events        |   4 +
 10 files changed, 283 insertions(+), 15 deletions(-)
 create mode 100644 include/hw/ppc/pnv_adu.h
 create mode 100644 hw/ppc/pnv_adu.c

-- 
2.43.0