mbox series

[0/5] hppa 64-bit improvements

Message ID 20250128161450.12975-1-deller@kernel.org (mailing list archive)
Headers show
Series hppa 64-bit improvements | expand

Message

Helge Deller Jan. 28, 2025, 4:14 p.m. UTC
From: Helge Deller <deller@gmx.de>

The 64-bit hppa qemu emulation still fails to boot 64-bit HP-UX.
This patch series improves the emulation a lot, since it enables us to boot
64-bit HP-UX installer silently up until an endless loop where the machine
reports that it's up an running (it crashed before). This still needs further
analysis, but it's a big step forward.

Main changes to archieve this includes:
- Implementing diagnose registers (especially %dr2 for space-register hashing)
- Add Diva GSP card, as the currently used serial port emulation crashes on HP-UX 64-bit
- Fixes and improvements in SeaBIOS-hppa, including:
  - parisc: Fix IRT table entries to use slot number
  - parisc: Increase PCI alignment for memory bars to 64k
  - parisc: Fix PDC_CACHE/PDC_CACHE_RET_SPID return value
  - parisc: Allow up to 256 GB RAM on 64-bit machines

The SeaBIOS-hppa binary blob is not sent with this patch series, but
will be included in the final pull request. In case you want to test
the series, please use devel branch of SeaBIOS-hppa from
https://github.com/hdeller/seabios-hppa/tree/devel

Please review.

Helge Deller (5):
  hppa: Sync contents of hppa_hardware.h header file with SeaBIOS-hppa
  disas/hppa: implement mfdiag/mtdiag disassembly
  target/hppa: Implement CPU diagnose registers for 64-bit HP-UX
  hw/char: Add emulation of Diva GSP PCI management boards
  hw/hppa: Wire up Diva GSP card

 MAINTAINERS              |   1 +
 disas/hppa.c             |  23 +++-
 hw/char/Kconfig          |   5 +
 hw/char/diva-gsp.c       | 291 +++++++++++++++++++++++++++++++++++++++
 hw/char/meson.build      |   1 +
 hw/hppa/Kconfig          |   1 +
 hw/hppa/hppa_hardware.h  |  36 ++++-
 hw/hppa/machine.c        |  29 ++--
 target/hppa/cpu.c        |   3 +-
 target/hppa/cpu.h        |  24 ++--
 target/hppa/helper.c     |   4 +-
 target/hppa/insns.decode |   6 +-
 target/hppa/int_helper.c |   6 +-
 target/hppa/machine.c    |   5 +-
 target/hppa/sys_helper.c |   2 +-
 target/hppa/translate.c  |  24 +++-
 16 files changed, 411 insertions(+), 50 deletions(-)
 create mode 100644 hw/char/diva-gsp.c