Hello Qemu-devel, Here is the third version of Leon3 emulation patch-set.
Modifications since v2: - Tracepoints - DEFINE_PROP_* macros - New interface to trigger interrupts on Leon3 (set_pil_in:leon3.c) - Minor reformating Please feel free to comment. Regards, ------------------------------------------------------------------------------- This patch set introduces a new SPARC V8 machine: Leon3. It's an open-source VHDL System-On-Chip, well known in space industry (more information on http://www.gaisler.com). Leon3 is made of multiple components available in the GrLib VHDL library. Three devices are implemented: uart, timers and IRQ manager. You can find code for these peripherals in the grlib_* files. Modifications have been done to the SPARC cpu emulation code to handle Leon3's specific behavior: - IRQ management - Cache control - Asr17 (implementation-dependent Ancillary State Registers) - Shutdown Fabien Chouteau (5): SPARC: Emulation of GRLIB GPTimer SPARC: Emulation of GRLIB IRQMP SPARC: Emulation of GRLIB APB UART SPARC: Emulation of Leon3 SPARC: Add asr17 register support Makefile.target | 5 +- hw/grlib.h | 126 +++++++++++++++ hw/grlib_apbuart.c | 189 ++++++++++++++++++++++ hw/grlib_gptimer.c | 401 ++++++++++++++++++++++++++++++++++++++++++++++ hw/grlib_irqmp.c | 380 +++++++++++++++++++++++++++++++++++++++++++ hw/leon3.c | 231 ++++++++++++++++++++++++++ target-sparc/cpu.h | 38 +++-- target-sparc/helper.c | 8 +- target-sparc/helper.h | 1 + target-sparc/op_helper.c | 154 +++++++++++++++++- target-sparc/translate.c | 24 +++- trace-events | 20 +++ 12 files changed, 1555 insertions(+), 22 deletions(-) create mode 100644 hw/grlib.h create mode 100644 hw/grlib_apbuart.c create mode 100644 hw/grlib_gptimer.c create mode 100644 hw/grlib_irqmp.c create mode 100644 hw/leon3.c