From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:50333) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QzE9Q-0007ON-Gw for qemu-devel@nongnu.org; Thu, 01 Sep 2011 16:46:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QzE9P-00038D-9J for qemu-devel@nongnu.org; Thu, 01 Sep 2011 16:46:16 -0400 Received: from [188.134.19.124] (port=36834 helo=octofox.metropolis) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QzE9O-00037u-Rw for qemu-devel@nongnu.org; Thu, 01 Sep 2011 16:46:15 -0400 From: Max Filippov Date: Fri, 2 Sep 2011 00:45:28 +0400 Message-Id: <1314909960-31738-1-git-send-email-jcmvbkbc@gmail.com> Subject: [Qemu-devel] [PATCH v4 00/32] target-xtensa: new target architecture List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: jcmvbkbc@gmail.com This series adds support for Tensilica Xtensa target. Port status: Linux for DC232B works in the qemu. Not implemented xtensa options: MAC16, floating point coprocessor, boolean option, cache option, debug option. v3 -> v4 changes: - fix usage of type names ending with _t; - fix usage of identifiers starting with _[A-Z]. Git tree is available at git://jcmvbkbc.spb.ru/dumb/qemu-xtensa.git xtensa Max Filippov (32): target-xtensa: add target stubs target-xtensa: add target to the configure script target-xtensa: implement disas_xtensa_insn target-xtensa: implement narrow instructions target-xtensa: implement RT0 group target-xtensa: add sample board target-xtensa: implement conditional jumps target-xtensa: implement JX/RET0/CALLX target-xtensa: add special and user registers target-xtensa: implement RST3 group target-xtensa: implement shifts (ST1 and RST1 groups) target-xtensa: implement LSAI group target-xtensa: mark reserved and TBD opcodes target-xtensa: implement SYNC group target-xtensa: implement CACHE group target-xtensa: add PS register and access control target-xtensa: implement exceptions target-xtensa: implement RST2 group (32 bit mul/div/rem) target-xtensa: implement windowed registers target-xtensa: implement loop option target-xtensa: implement extended L32R target-xtensa: implement unaligned exception option target-xtensa: implement SIMCALL target-xtensa: implement interrupt option target-xtensa: implement accurate window check target-xtensa: implement CPENABLE and PRID SRs target-xtensa: implement relocatable vectors target-xtensa: add gdb support target-xtensa: implement memory protection options target-xtensa: add dc232b core and board MAINTAINERS: add xtensa maintainer target-xtensa: add regression testsuite MAINTAINERS | 13 + Makefile.target | 5 + arch_init.c | 2 + arch_init.h | 1 + configure | 12 +- cpu-exec.c | 8 + default-configs/xtensa-softmmu.mak | 1 + default-configs/xtensaeb-softmmu.mak | 1 + elf.h | 2 + gdbstub.c | 96 + hw/xtensa_dc232b.c | 112 ++ hw/xtensa_pic.c | 134 ++ hw/xtensa_sample.c | 106 ++ qemu-options.hx | 4 +- target-xtensa/cpu.h | 424 +++++ target-xtensa/gdb-config-dc232b.c | 261 +++ target-xtensa/gdb-config-sample-xtensa-core.c | 375 ++++ target-xtensa/helper.c | 763 ++++++++ target-xtensa/helpers.h | 32 + target-xtensa/machine.c | 38 + target-xtensa/op_helper.c | 668 +++++++ target-xtensa/translate.c | 2349 +++++++++++++++++++++++++ tests/xtensa/Makefile | 72 + tests/xtensa/crt.S | 24 + tests/xtensa/linker.ld | 113 ++ tests/xtensa/macros.inc | 68 + tests/xtensa/test_b.S | 221 +++ tests/xtensa/test_bi.S | 103 ++ tests/xtensa/test_bz.S | 57 + tests/xtensa/test_clamps.S | 42 + tests/xtensa/test_fail.S | 9 + tests/xtensa/test_interrupt.S | 194 ++ tests/xtensa/test_loop.S | 77 + tests/xtensa/test_max.S | 81 + tests/xtensa/test_min.S | 81 + tests/xtensa/test_mmu.S | 318 ++++ tests/xtensa/test_mul16.S | 83 + tests/xtensa/test_mul32.S | 20 + tests/xtensa/test_nsa.S | 59 + tests/xtensa/test_pipeline.S | 157 ++ tests/xtensa/test_quo.S | 147 ++ tests/xtensa/test_rem.S | 147 ++ tests/xtensa/test_rst0.S | 148 ++ tests/xtensa/test_sar.S | 111 ++ tests/xtensa/test_sext.S | 69 + tests/xtensa/test_shift.S | 206 +++ tests/xtensa/test_timer.S | 115 ++ tests/xtensa/test_windowed.S | 302 ++++ tests/xtensa/vectors.S | 39 + xtensa-semi.c | 224 +++ 50 files changed, 8691 insertions(+), 3 deletions(-) create mode 100644 default-configs/xtensa-softmmu.mak create mode 100644 default-configs/xtensaeb-softmmu.mak create mode 100644 hw/xtensa_dc232b.c create mode 100644 hw/xtensa_pic.c create mode 100644 hw/xtensa_sample.c create mode 100644 target-xtensa/cpu.h create mode 100644 target-xtensa/gdb-config-dc232b.c create mode 100644 target-xtensa/gdb-config-sample-xtensa-core.c create mode 100644 target-xtensa/helper.c create mode 100644 target-xtensa/helpers.h create mode 100644 target-xtensa/machine.c create mode 100644 target-xtensa/op_helper.c create mode 100644 target-xtensa/translate.c create mode 100644 tests/xtensa/Makefile create mode 100644 tests/xtensa/crt.S create mode 100644 tests/xtensa/linker.ld create mode 100644 tests/xtensa/macros.inc create mode 100644 tests/xtensa/test_b.S create mode 100644 tests/xtensa/test_bi.S create mode 100644 tests/xtensa/test_bz.S create mode 100644 tests/xtensa/test_clamps.S create mode 100644 tests/xtensa/test_fail.S create mode 100644 tests/xtensa/test_interrupt.S create mode 100644 tests/xtensa/test_loop.S create mode 100644 tests/xtensa/test_max.S create mode 100644 tests/xtensa/test_min.S create mode 100644 tests/xtensa/test_mmu.S create mode 100644 tests/xtensa/test_mul16.S create mode 100644 tests/xtensa/test_mul32.S create mode 100644 tests/xtensa/test_nsa.S create mode 100644 tests/xtensa/test_pipeline.S create mode 100644 tests/xtensa/test_quo.S create mode 100644 tests/xtensa/test_rem.S create mode 100644 tests/xtensa/test_rst0.S create mode 100644 tests/xtensa/test_sar.S create mode 100644 tests/xtensa/test_sext.S create mode 100644 tests/xtensa/test_shift.S create mode 100644 tests/xtensa/test_timer.S create mode 100644 tests/xtensa/test_windowed.S create mode 100644 tests/xtensa/vectors.S create mode 100644 xtensa-semi.c -- 1.7.6