[PATCH v4 0/4] hppa: PA-8700, use 44 bit physical addresses

Anton Johansson via qemu development posted 4 patches 1 month, 1 week ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260302-hppa-c3600-v4-0-447a800da8cc@rev.ng
Maintainers: Richard Henderson <richard.henderson@linaro.org>, Helge Deller <deller@gmx.de>, Laurent Vivier <laurent@vivier.eu>, Pierrick Bouvier <pierrick.bouvier@linaro.org>, Fabiano Rosas <farosas@suse.de>, Paolo Bonzini <pbonzini@redhat.com>
There is a newer version of this series
target/hppa/cpu-qom.h                 |  8 +++++-
target/hppa/cpu.h                     | 35 +++++++++++++++++++-----
hw/hppa/machine.c                     | 25 +++++++++++-------
hw/pci-host/astro.c                   |  2 +-
linux-user/hppa/elfload.c             |  2 +-
target/hppa/cpu.c                     | 50 ++++++++++++++++++++++++++---------
target/hppa/mem_helper.c              | 40 +++++++++-------------------
tests/qtest/machine-none-test.c       |  2 +-
tests/functional/hppa/test_seabios.py |  4 +--
9 files changed, 105 insertions(+), 63 deletions(-)
[PATCH v4 0/4] hppa: PA-8700, use 44 bit physical addresses
Posted by Anton Johansson via qemu development 1 month, 1 week ago
This patchset tries to address a discrepancy between the C3700 machine
in QEMU/SeaBIOS and the documentation (chapter 5)

  http://ftp.parisc-linux.org/docs/whitepapers/PA-8700wp.pdf

where 40 bits of physical address space are used in SeaBIOS compared
to the 44 bits specified in the documentation.

A PA-8500 CPU with 40 bits of physical address space is added to be
used with the A400 machine.  AFAICT there are no major differences
from QEMUs side between the PA-8500 and 8700 aside from the physical
address space size.  The PA-8700 machine can then be moved to using
44 bits.  To account for the discrepancy with SeaBIOS, the functional
tests now run the A400.

This series introduces a small restructuring to the HPPA CPU class
heirarchy. CPU model definitions now inherit from a TYPE_HPPA_CPU base
class and use a HPPACPUDef struct to provide model specifics, similar
to the SPARC and RISCV targets.  This hopefully makes it easier to add
other models, such as the 8800/8900.

Signed-off-by: Anton Johansson <anjo@rev.ng>
---
Changes in v4:
- Add PA-8500 instead of PA-8600 and use the now upstreamed A400
  machine.
- Link to v3: https://lore.kernel.org/qemu-devel/20260218-hppa-c3600-v3-0-b37ad58a20dd@rev.ng

Changes in v3:
- Fixed spelling in commit message/comment
- Rebased
- Dropped if statement in hppa_cpu_class_base_init() (patch
  "hppa: Introduce HPPACPUDef").  Not needed as it will simply
  be set to NULL for the abstract base class anyway.
- Link to v2: https://lore.kernel.org/qemu-devel/20260210-hppa-c3600-v2-0-9ca09c677012@rev.ng

Changes in v2:
- Missed a reference to the old "hppa" CPU model, updated to
  "pa-7300lc".
- Link to v1: https://lore.kernel.org/qemu-devel/20260210-hppa-c3600-v1-0-a17ec58f053f@rev.ng

---
Anton Johansson (4):
      hppa: Restructure CPU Class heirarchy
      hppa: Introduce HPPACPUDef
      hppa: Get physical address space bits from HPPACPUDef
      hppa: Use 44 bit physical addresses for PA-8700

 target/hppa/cpu-qom.h                 |  8 +++++-
 target/hppa/cpu.h                     | 35 +++++++++++++++++++-----
 hw/hppa/machine.c                     | 25 +++++++++++-------
 hw/pci-host/astro.c                   |  2 +-
 linux-user/hppa/elfload.c             |  2 +-
 target/hppa/cpu.c                     | 50 ++++++++++++++++++++++++++---------
 target/hppa/mem_helper.c              | 40 +++++++++-------------------
 tests/qtest/machine-none-test.c       |  2 +-
 tests/functional/hppa/test_seabios.py |  4 +--
 9 files changed, 105 insertions(+), 63 deletions(-)