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