Changes from v1 to v2: - Split patch 5 up into little pieces. These pieces were compile tested by applying patch 23 (Enable alpha-softmmu) out of sequence so that both softmmu and linux-user targets were built. But in the end I chickened out and re-ordered the enable patch to last.
- The TB->FLAGS patch is more comprehensive. In doing the split I noticed that we were doing funny things with AMASK that really ought to have belonged in the TB in the first place. - The patch for unassigned addresses is more comprehensive. I had previously failed to do the if-deffing dance in the generic part of QEMU. - The PALcode source is added as a submodule. r~ Richard Henderson (24): Export the unassigned_mem read/write functions. target-alpha: Disassemble EV6 PALcode instructions. pci: Export pci_to_cpu_addr. target-alpha: Remove partial support for palcode emulation. target-alpha: Tidy exception constants. target-alpha: Rationalize internal processor registers. target-alpha: Cleanup MMU modes. target-alpha: Fixup translation of PALmode instructions. target-alpha: Add IPRs to be used by the emulation PALcode. target-alpha: Tidy up arithmetic exceptions. target-alpha: Merge HW_REI and HW_RET implementations. target-alpha: Implement do_interrupt for system mode. target-alpha: Swap shadow registers moving to/from PALmode. target-alpha: Add various symbolic constants. target-alpha: All ISA checks to use TB->FLAGS. target-alpha: Disable interrupts properly. target-alpha: Implement more CALL_PAL values inline. target-alpha: Add custom PALcode image for SX164 emulation. target-alpha: Implement cpu_alpha_handle_mmu_fault for system mode. target-alpha: Trap for unassigned and unaligned addresses. target-alpha: Include the PCC_OFS in the RPCC return value. target-alpha: Implement TLB flush primitives. target-alpha: Enable the alpha-softmmu target. target-alpha: Add SX164 emulation. .gitmodules | 3 + Makefile | 3 +- Makefile.target | 4 +- alpha-dis.c | 4 - configure | 3 +- cpu-common.h | 7 + cpu-exec.c | 16 +- default-configs/alpha-softmmu.mak | 9 + dis-asm.h | 3 + disas.c | 2 +- exec-all.h | 2 +- exec.c | 24 +- hw/alpha_palcode.c | 1048 ------------------------------------ hw/alpha_pci.c | 327 ++++++++++++ hw/alpha_pyxis.c | 1057 +++++++++++++++++++++++++++++++++++++ hw/alpha_sx164.c | 195 +++++++ hw/alpha_sys.h | 41 ++ hw/pci.c | 3 +- hw/pci.h | 1 + linux-user/main.c | 49 +-- pc-bios/palcode-sx164 | Bin 0 -> 107621 bytes roms/qemu-palcode | 1 + target-alpha/cpu.h | 363 ++++++-------- target-alpha/exec.h | 7 +- target-alpha/helper.c | 581 +++++++++------------ target-alpha/helper.h | 32 +- target-alpha/machine.c | 87 +++ target-alpha/op_helper.c | 236 ++++----- target-alpha/translate.c | 771 ++++++++++++++++------------ 29 files changed, 2734 insertions(+), 2145 deletions(-) create mode 100644 default-configs/alpha-softmmu.mak delete mode 100644 hw/alpha_palcode.c create mode 100644 hw/alpha_pci.c create mode 100644 hw/alpha_pyxis.c create mode 100644 hw/alpha_sx164.c create mode 100644 hw/alpha_sys.h create mode 100644 pc-bios/palcode-sx164 create mode 160000 roms/qemu-palcode create mode 100644 target-alpha/machine.c -- 1.7.3.4