From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=48588 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PhL2n-0002GO-KH for qemu-devel@nongnu.org; Mon, 24 Jan 2011 06:57:16 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PhL2l-0007kn-3z for qemu-devel@nongnu.org; Mon, 24 Jan 2011 06:57:12 -0500 Received: from mel.act-europe.fr ([194.98.77.210]:33470) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PhL2k-0007kY-KS for qemu-devel@nongnu.org; Mon, 24 Jan 2011 06:57:11 -0500 From: Fabien Chouteau Date: Mon, 24 Jan 2011 12:56:51 +0100 Message-Id: Subject: [Qemu-devel] [PATCH v4 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 fourth version of Leon3 emulation patch-set. Modifications since v3: - Tracepoints in leon3.c - Fix compilation error in user mode (target-sparc/op_helper.c) - Remove unused variable in leon3. - Minor reformating (style errors from checkpatch.pl) 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 | 187 ++++++++++++++++++++++ hw/grlib_gptimer.c | 395 ++++++++++++++++++++++++++++++++++++++++++++++ hw/grlib_irqmp.c | 376 +++++++++++++++++++++++++++++++++++++++++++ hw/leon3.c | 218 +++++++++++++++++++++++++ target-sparc/cpu.h | 38 +++-- target-sparc/helper.c | 8 +- target-sparc/helper.h | 1 + target-sparc/op_helper.c | 156 ++++++++++++++++++- target-sparc/translate.c | 24 +++- trace-events | 24 +++ 12 files changed, 1536 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