Over the past 3 months, Helge and I have extended the existing support
for hppa-linux-user to handle system mode as well. Helge has done all
of the board-level hw/hppa work as well as adapting SeaBIOS for use
with hppa. Sources for the latter are at
https://github.com/hdeller/seabios-hppa.git
With this patch set, we are able to install debian 8 from cdrom.
We do encounter problems beyond that, with py3compile, but this
patch set is large enough already.
r~
Helge Deller (2):
target/hppa: Skeleton support for hppa-softmmu
target/hppa: Fix comment
Richard Henderson (36):
target/hppa: Define the rest of the PSW
target/hppa: Disable gateway page emulation for system mode
target/hppa: Define hardware exception types
target/hppa: Split address size from register size
target/hppa: Implement mmu_idx from IA privilege level
target/hppa: Implement the system mask instructions
target/hppa: Add space registers
target/hppa: Add control registers
target/hppa: Adjust insn mask for mfctl,w
target/hppa: Implement rfi
target/hppa: Fill in hppa_cpu_do_interrupt/hppa_cpu_exec_interrupt
target/hppa: Implement unaligned access trap
target/hppa: Use space registers in data operations
target/hppa: Do not set cs_base to iaoq_b
target/hppa: Avoid privilege level decrease during branches
target/hppa: Implement IASQ
target/hppa: Implement tlb_fill
target/hppa: Implement external interrupts
target/hppa: Implement the interval timer
target/hppa: Log unimplemented instructions
target/hppa: Implement I*TLBA and I*TLBP insns
target/hppa: Implement P*TLB and P*TLBE insns
target/hppa: Implement LDWA
target/hppa: Implement LPA
target/hppa: Implement LCI
target/hppa: Implement SYNCDMA insn
target/hppa: Implement a halt instruction
hw/hppa: Implement DINO system board
target/hppa: Optimize for flat addressing space
target/hppa: Add system registers to gdbstub
target/hppa: Add migration for the cpu
target/hppa: Implement B,GATE insn
target/hppa: Only use EXCP_DTLB_MISS
qom: Add MMU_DEBUG_LOAD
target/hppa: Use MMU_DEBUG_LOAD when reloading for CR[IIR]
target/hppa: Increase number of temp regs
Makefile.objs | 1 +
hw/hppa/hppa_hardware.h | 64 ++
hw/hppa/hppa_sys.h | 24 +
include/qom/cpu.h | 3 +-
include/sysemu/arch_init.h | 1 +
linux-user/hppa/target_cpu.h | 2 +-
target/hppa/cpu.h | 277 +++++-
target/hppa/helper.h | 43 +-
arch_init.c | 2 +
hw/hppa/dino.c | 520 ++++++++++
hw/hppa/machine.c | 249 +++++
hw/hppa/pci.c | 90 ++
linux-user/main.c | 28 +-
linux-user/signal.c | 4 +-
target/hppa/cpu.c | 52 +-
target/hppa/gdbstub.c | 187 +++-
target/hppa/helper.c | 120 +--
target/hppa/int_helper.c | 263 +++++
target/hppa/machine.c | 181 ++++
target/hppa/mem_helper.c | 340 +++++++
target/hppa/op_helper.c | 126 ++-
target/hppa/translate.c | 1984 +++++++++++++++++++++++++++-----------
default-configs/hppa-softmmu.mak | 14 +
hw/hppa/Makefile.objs | 1 +
hw/hppa/trace-events | 4 +
target/hppa/Makefile.objs | 4 +-
26 files changed, 3894 insertions(+), 690 deletions(-)
create mode 100644 hw/hppa/hppa_hardware.h
create mode 100644 hw/hppa/hppa_sys.h
create mode 100644 hw/hppa/dino.c
create mode 100644 hw/hppa/machine.c
create mode 100644 hw/hppa/pci.c
create mode 100644 target/hppa/int_helper.c
create mode 100644 target/hppa/machine.c
create mode 100644 target/hppa/mem_helper.c
create mode 100644 default-configs/hppa-softmmu.mak
create mode 100644 hw/hppa/Makefile.objs
create mode 100644 hw/hppa/trace-events
--
2.14.3