[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 00/35] Alpha system emulation, v4

From: Richard Henderson
Subject: [Qemu-devel] [PATCH 00/35] Alpha system emulation, v4
Date: Mon, 9 May 2011 14:34:14 -0700

Since virtio devices intentionally access memory directly, we
are not actually dependant on the iommu patches in order to 
make progress.  Merely fixing the PCI interrupt setup was 
enough to get the virtio-pci interface working.

We now make it quite a long way into the Debian Lenny install.

At some random point during the install, it hangs.  I assume
we're somehow losing an interrupt or something, but it's very
hard to tell.  The cpu is still running, servicing timer
interrupts, but the userland process is stuck.

I hope to get the vga console working next.  That should allow
me multiple vt's, which should allow me to poke at the install
process from within the VM.

I still havn't gotten any substantive review of the hw/ side
of the patches, which is the part of Qemu that I'm least
familiar with.  Pretty please?


Changes from v3 -> v4

  * Rebased vs mainline (85097db).
  * PCI IDE, VGA devices added;
  * PS2 keyboard device added.
  * PCI interrupt setup fixed.
  * Git submodule and blob updated to current.
    - Copyright notices added, as appropritate
    - PCI initialization added.
    - Very beginnings of an SRM prompt.

Changes from v2 -> v3

  * Emulation target is now CLIPPER instead of SX164.
  * Allow the CPU to halt til the next interrupt.
  * Allow the CPU access to the host clock, and a high-res alarm.
  * Fix gdb single-stepping in the presence of timer interrupts.
  * Fix gdb single-stepping past branches.
  * We now make it all the way into userland.

Richard Henderson (35):
  Export the unassigned_mem read/write functions.
  target-alpha: Disassemble EV6 PALcode instructions.
  pci: Export pci_to_cpu_addr.
  target-alpha: Single-step properly across branches.
  target-alpha: Remove partial support for palcode emulation.
  target-alpha: Enable the alpha-softmmu target.
  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: Use do_restore_state for 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: Use kernel mmu_idx for pal_mode.
  target-alpha: All ISA checks to use TB->FLAGS.
  target-alpha: Disable interrupts properly.
  target-alpha: Implement more CALL_PAL values inline.
  target-alpha: Implement cpu_alpha_handle_mmu_fault for system mode.
  target-alpha: Remap PIO space for 43-bit KSEG for EV6.
  target-alpha: Trap for unassigned and unaligned addresses.
  target-alpha: Include the PCC_OFS in the RPCC return value.
  target-alpha: Use a fixed frequency for the RPCC in system mode.
  target-alpha: Implement TLB flush primitives.
  target-alpha: Add custom PALcode image for CLIPPER emulation.
  target-alpha: Add CLIPPER emulation.
  target-alpha: Implement WAIT IPR.
  target-alpha: Implement HALT IPR.
  target-alpha: Add high-resolution access to wall clock and an alarm.
  target-alpha: Properly select the VGA controler to use.
  target-alpha: Enable PCI IDE
  target-alpha: Add ps2 keyboard.

 .gitmodules                       |    3 +
 Makefile                          |    3 +-
 Makefile.target                   |    4 +-
 alpha-dis.c                       |    4 -
 configure                         |    9 +-
 cpu-common.h                      |    7 +
 cpu-exec.c                        |   33 +-
 default-configs/alpha-softmmu.mak |   11 +
 dis-asm.h                         |    3 +
 disas.c                           |    2 +-
 exec-all.h                        |    2 +-
 exec.c                            |   24 +-
 hw/alpha_dp264.c                  |  188 +++++++
 hw/alpha_palcode.c                | 1048 -------------------------------------
 hw/alpha_pci.c                    |  358 +++++++++++++
 hw/alpha_sys.h                    |   44 ++
 hw/alpha_typhoon.c                |  799 ++++++++++++++++++++++++++++
 hw/pci.c                          |    3 +-
 hw/pci.h                          |    1 +
 linux-user/main.c                 |   50 +--
 pc-bios/README                    |    3 +
 pc-bios/palcode-clipper           |  Bin 0 -> 176851 bytes
 roms/qemu-palcode                 |    1 +
 target-alpha/cpu.h                |  378 ++++++--------
 target-alpha/exec.h               |   12 +-
 target-alpha/helper.c             |  589 +++++++++------------
 target-alpha/helper.h             |   37 +-
 target-alpha/machine.c            |   87 +++
 target-alpha/op_helper.c          |  289 +++++------
 target-alpha/translate.c          |  836 +++++++++++++++++------------
 30 files changed, 2659 insertions(+), 2169 deletions(-)
 create mode 100644 default-configs/alpha-softmmu.mak
 create mode 100644 hw/alpha_dp264.c
 delete mode 100644 hw/alpha_palcode.c
 create mode 100644 hw/alpha_pci.c
 create mode 100644 hw/alpha_sys.h
 create mode 100644 hw/alpha_typhoon.c
 create mode 100755 pc-bios/palcode-clipper
 create mode 160000 roms/qemu-palcode
 create mode 100644 target-alpha/machine.c


reply via email to

[Prev in Thread] Current Thread [Next in Thread]