From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=43630 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PgKM1-0005TN-Bc for qemu-devel@nongnu.org; Fri, 21 Jan 2011 12:00:54 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PgKM0-0007Vz-30 for qemu-devel@nongnu.org; Fri, 21 Jan 2011 12:00:53 -0500 Received: from mel.act-europe.fr ([194.98.77.210]:34789) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PgKLz-0007SP-Ud for qemu-devel@nongnu.org; Fri, 21 Jan 2011 12:00:52 -0500 From: Fabien Chouteau Date: Fri, 21 Jan 2011 18:00:18 +0100 Message-Id: Subject: [Qemu-devel] [PATCH v3 0/5][RFC] New SPARC machine: Leon3 List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Fabien Chouteau 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