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 SeaBISO compared
to the 44 bits specified in the documentation.
A PA-8600 CPU with 40 bits of physical address space is added along with
a C3600 machine using it by default. AFAICT there are no major
differences from QEMUs side between the PA-8600 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 a C3700 but with a PA-8600 CPU.
CPU model definitions now inherit from a TYPE_HPPA_CPU base class and
use a HPPACPUDef sturct 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>
---
Anton Johansson (4):
hppa: Prepare for additional CPU models
hppa: Introduce HPPACPUDef
hppa: Get physical address space bits from CPUHPPADef
hppa: Add C3600 machine with PA-8600 CPU
target/hppa/cpu-qom.h | 8 ++++-
target/hppa/cpu.h | 35 ++++++++++++++++----
hw/hppa/machine.c | 62 +++++++++++++++++++++++++++--------
hw/pci-host/astro.c | 2 +-
target/hppa/cpu.c | 52 ++++++++++++++++++++++-------
target/hppa/mem_helper.c | 40 +++++++---------------
tests/qtest/machine-none-test.c | 2 +-
tests/functional/hppa/test_seabios.py | 3 ++
8 files changed, 140 insertions(+), 64 deletions(-)