From patchwork Sun Feb 23 13:27:27 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Yoshinori Sato X-Patchwork-Id: 11398819 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 1BDA492A for ; Sun, 23 Feb 2020 13:32:32 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id F1CB020637 for ; Sun, 23 Feb 2020 13:32:31 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F1CB020637 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=users.sourceforge.jp Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:52952 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j5rN1-0005UB-5e for patchwork-qemu-devel@patchwork.kernel.org; Sun, 23 Feb 2020 08:32:31 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:41665) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j5rIe-00005K-UD for qemu-devel@nongnu.org; Sun, 23 Feb 2020 08:28:02 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j5rId-0003sJ-9D for qemu-devel@nongnu.org; Sun, 23 Feb 2020 08:28:00 -0500 Received: from mail03.asahi-net.or.jp ([202.224.55.15]:45191) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1j5rId-0003rd-11 for qemu-devel@nongnu.org; Sun, 23 Feb 2020 08:27:59 -0500 Received: from h61-195-96-97.vps.ablenet.jp (h61-195-96-97.ablenetvps.ne.jp [61.195.96.97]) (Authenticated sender: PQ4Y-STU) by mail03.asahi-net.or.jp (Postfix) with ESMTPA id C00FCE3456; Sun, 23 Feb 2020 22:27:56 +0900 (JST) Received: from yo-satoh-debian.localdomain (ZM005235.ppp.dion.ne.jp [222.8.5.235]) by h61-195-96-97.vps.ablenet.jp (Postfix) with ESMTPSA id 26B2B24008E; Sun, 23 Feb 2020 22:27:56 +0900 (JST) From: Yoshinori Sato To: qemu-devel@nongnu.org Subject: [PATCH RESEND v31 00/22] Add RX archtecture support Date: Sun, 23 Feb 2020 22:27:27 +0900 Message-Id: <20200223132750.69480-1-ysato@users.sourceforge.jp> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 202.224.55.15 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: richard.henderson@linaro.org, philmd@redhat.com, Yoshinori Sato Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" Sorry. I missed commit 1 changes. Fixed it. Hello. This patch series is added Renesas RX target emulation. Changes for v30. Follow master changes. Fix checkpatch error. Changes for v29. Add target description XML. It required gdb-9.1. Follow git master changes. Changes for v28. Allow -m option. With this option, 16 Mbytes or more can be specified. Add example for qemu-doc. Fix build error on latest master. Changes for v27. Added RX section to qemu-doc. Rebase for master Changes for v26. Rebase for 5.0 Update machine.json for 5.0 Changes for v25. Update commit message. Squashed qapi/machine.json changes. Changes for v24. Add note for qapi/machine.json. Added Acked-by for 6/22. git rebase master. Changes for v23. Follow master changes. Changes for v22. Added some include. Changes for v21. rebase latest master. Remove unneeded hmp_info_tlb. Chanegs for v20. Reorderd patches. Squashed v19 changes. Changes for v19. Follow tcg changes. Cleanup cpu.c. simplify rx_cpu_class_by_name and rx_load_image move to rx-virt. My git repository is bellow. git://git.pf.osdn.net/gitroot/y/ys/ysato/qemu.git tags/rx-20200223 Testing binaries bellow. u-boot Download - https://osdn.net/users/ysato/pf/qemu/dl/u-boot.bin.gz starting $ gzip -d u-boot.bin.gz $ qemu-system-rx -bios u-boot.bin linux and pico-root (only sash) Download - https://osdn.net/users/ysato/pf/qemu/dl/zImage (kernel) https://osdn.net/users/ysato/pf/qemu/dl/rx-virt.dtb (DeviceTree) starting $ qemu-system-rx -kernel zImage -dtb rx-virt.dtb -append "earlycon" Philippe Mathieu-Daudé (3): hw/registerfields.h: Add 8bit and 16bit register macros hw/rx: Restrict the RX62N microcontroller to the RX62N CPU core BootLinuxConsoleTest: Test the RX-Virt machine Richard Henderson (7): target/rx: Disassemble rx_index_addr into a string target/rx: Replace operand with prt_ldmi in disassembler target/rx: Use prt_ldmi for XCHG_mr disassembly target/rx: Emit all disassembly in one prt() target/rx: Collect all bytes during disassembly target/rx: Dump bytes for each insn during disassembly hw/rx: Honor -accel qtest Yoshinori Sato (12): MAINTAINERS: Add RX qemu/bitops.h: Add extract8 and extract16 target/rx: TCG translation target/rx: TCG helper target/rx: CPU definition target/rx: RX disassembler hw/intc: RX62N interrupt controller (ICUa) hw/timer: RX62N internal timer modules hw/char: RX62N serial communication interface (SCI) hw/rx: RX Target hardware definition Add rx-softmmu qemu-doc.texi: Add RX section. qemu-doc.texi | 44 + configure | 11 +- default-configs/rx-softmmu.mak | 3 + qapi/machine.json | 2 +- include/disas/dis-asm.h | 5 + include/exec/poison.h | 1 + include/hw/char/renesas_sci.h | 45 + include/hw/intc/rx_icu.h | 56 + include/hw/registerfields.h | 32 +- include/hw/rx/rx.h | 7 + include/hw/rx/rx62n.h | 91 + include/hw/timer/renesas_cmt.h | 38 + include/hw/timer/renesas_tmr.h | 53 + include/qemu/bitops.h | 38 + include/sysemu/arch_init.h | 1 + target/rx/cpu-param.h | 31 + target/rx/cpu-qom.h | 42 + target/rx/cpu.h | 181 ++ target/rx/helper.h | 31 + target/rx/insns.decode | 621 ++++++ arch_init.c | 2 + hw/char/renesas_sci.c | 342 ++++ hw/intc/rx_icu.c | 379 ++++ hw/rx/rx-virt.c | 144 ++ hw/rx/rx62n.c | 247 +++ hw/timer/renesas_cmt.c | 278 +++ hw/timer/renesas_tmr.c | 458 +++++ target/rx/cpu.c | 218 +++ target/rx/disas.c | 1446 ++++++++++++++ target/rx/gdbstub.c | 112 ++ target/rx/helper.c | 149 ++ target/rx/op_helper.c | 470 +++++ target/rx/translate.c | 2432 ++++++++++++++++++++++++ tests/qtest/machine-none-test.c | 1 + MAINTAINERS | 19 + gdb-xml/rx-core.xml | 70 + hw/Kconfig | 1 + hw/char/Kconfig | 3 + hw/char/Makefile.objs | 1 + hw/intc/Kconfig | 3 + hw/intc/Makefile.objs | 1 + hw/rx/Kconfig | 14 + hw/rx/Makefile.objs | 2 + hw/timer/Kconfig | 6 + hw/timer/Makefile.objs | 3 + target/rx/Makefile.objs | 11 + tests/acceptance/boot_linux_console.py | 46 + 47 files changed, 8188 insertions(+), 3 deletions(-) create mode 100644 default-configs/rx-softmmu.mak create mode 100644 include/hw/char/renesas_sci.h create mode 100644 include/hw/intc/rx_icu.h create mode 100644 include/hw/rx/rx.h create mode 100644 include/hw/rx/rx62n.h create mode 100644 include/hw/timer/renesas_cmt.h create mode 100644 include/hw/timer/renesas_tmr.h create mode 100644 target/rx/cpu-param.h create mode 100644 target/rx/cpu-qom.h create mode 100644 target/rx/cpu.h create mode 100644 target/rx/helper.h create mode 100644 target/rx/insns.decode create mode 100644 hw/char/renesas_sci.c create mode 100644 hw/intc/rx_icu.c create mode 100644 hw/rx/rx-virt.c create mode 100644 hw/rx/rx62n.c create mode 100644 hw/timer/renesas_cmt.c create mode 100644 hw/timer/renesas_tmr.c create mode 100644 target/rx/cpu.c create mode 100644 target/rx/disas.c create mode 100644 target/rx/gdbstub.c create mode 100644 target/rx/helper.c create mode 100644 target/rx/op_helper.c create mode 100644 target/rx/translate.c create mode 100644 gdb-xml/rx-core.xml create mode 100644 hw/rx/Kconfig create mode 100644 hw/rx/Makefile.objs create mode 100644 target/rx/Makefile.objs