From: Guan Xuetao <g...@mprc.pku.edu.cn>

These patches implement softmmu support on unicore32 architecture.

v1->v2: Correct maybe-uninitialized warning in gpio/pm/dma handlers.

UniCore32 CPU is embedded in PKUnity-3 SoC, so we add necessary puv3
devices simulation codes together.
Only minimal system control modules are simulated, to make linux kernel
boot and busybox run in initramfs.

Thanks Andreas Farber, Blue Swirl, Chen Weiren and Dunrong Huang for
their priceless advice.

Any advice is greatly appreciated.

Thanks,

Guan Xuetao
---
Andreas Färber (1):
  target-unicore32: Drop UC32_CPUID macros

Guan Xuetao (18):
  unicore32-softmmu: Add unicore32-softmmu build support
  unicore32-softmmu: Add coprocessor 0(sysctrl) and 1(ocd) instruction
    support
  unicore32-softmmu: Make UniCore32 cpuid & exceptions correct and
    runable
  unicore32-softmmu: Implement softmmu specific functions
  unicore32-softmmu: Make sure that kernel can access user space
  unicore32-softmmu: Add puv3 soc/board support
  unicore32-softmmu: Add puv3 interrupt support
  unicore32-softmmu: Add puv3 ostimer support
  unicore32-softmmu: Add puv3 gpio support
  unicore32-softmmu: Add puv3 pm support
  unicore32-softmmu: Add puv3 dma support
  unicore32-softmmu: Add ps2 support
  unicore32-softmmu: Add maintainer information for UniCore32 machine
  unicore32-softmmu: Add is_default setting for puv3 machine
  unicore32: Split UniCore-F64 instruction helpers from helper.c
  unicore32: Disintegrate cpu_dump_state_ucf64 function
  unicore32: Close dump-option of cpu_dump_state_ucf64 function
  unicore32-softmmu: Add a minimal curses screen support

 MAINTAINERS                           |    8 +
 arch_init.c                           |    2 +
 arch_init.h                           |    1 +
 configure                             |    1 +
 cpu-exec.c                            |    1 +
 default-configs/unicore32-softmmu.mak |    4 +
 hw/Makefile.objs                      |    7 +
 hw/puv3.c                             |  131 +++++++++
 hw/puv3.h                             |   49 ++++
 hw/puv3_dma.c                         |  109 +++++++
 hw/puv3_gpio.c                        |  141 +++++++++
 hw/puv3_intc.c                        |  135 +++++++++
 hw/puv3_ost.c                         |  151 ++++++++++
 hw/puv3_pm.c                          |  149 ++++++++++
 hw/unicore32/Makefile.objs            |    6 +
 linux-user/main.c                     |    3 +-
 target-unicore32/Makefile.objs        |    4 +-
 target-unicore32/cpu.c                |   19 +-
 target-unicore32/cpu.h                |   18 +-
 target-unicore32/helper.c             |  511 +++++++++++----------------------
 target-unicore32/helper.h             |   17 +-
 target-unicore32/machine.c            |   23 ++
 target-unicore32/op_helper.c          |   44 +++-
 target-unicore32/softmmu.c            |  267 +++++++++++++++++
 target-unicore32/translate.c          |  159 +++++++++--
 target-unicore32/ucf64_helper.c       |  345 ++++++++++++++++++++++
 26 files changed, 1904 insertions(+), 401 deletions(-)
 create mode 100644 default-configs/unicore32-softmmu.mak
 create mode 100644 hw/puv3.c
 create mode 100644 hw/puv3.h
 create mode 100644 hw/puv3_dma.c
 create mode 100644 hw/puv3_gpio.c
 create mode 100644 hw/puv3_intc.c
 create mode 100644 hw/puv3_ost.c
 create mode 100644 hw/puv3_pm.c
 create mode 100644 hw/unicore32/Makefile.objs
 create mode 100644 target-unicore32/machine.c
 create mode 100644 target-unicore32/softmmu.c
 create mode 100644 target-unicore32/ucf64_helper.c


Reply via email to