[PATCH v32 00/22] Add RX archtecture support

Yoshinori Sato posted 22 patches 4 years, 2 months ago
Test docker-quick@centos7 passed
Test FreeBSD passed
Test docker-mingw@fedora passed
Test checkpatch failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200224141923.82118-1-ysato@users.sourceforge.jp
Maintainers: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Alistair Francis <alistair@alistair23.me>, Eric Blake <eblake@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Markus Armbruster <armbru@redhat.com>, Yoshinori Sato <ysato@users.sourceforge.jp>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, Eduardo Habkost <ehabkost@redhat.com>, "Alex Bennée" <alex.bennee@linaro.org>, Thomas Huth <thuth@redhat.com>, Laurent Vivier <lvivier@redhat.com>, "Philippe Mathieu-Daudé" <philmd@redhat.com>
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
[PATCH v32 00/22] Add RX archtecture support
Posted by Yoshinori Sato 4 years, 2 months ago
Hello.
This patch series is added Renesas RX target emulation.

Changes for v31.
Squash minor changes.

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-20200224

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

-- 
2.20.1


Re: [PATCH v32 00/22] Add RX archtecture support
Posted by no-reply@patchew.org 4 years, 2 months ago
Patchew URL: https://patchew.org/QEMU/20200224141923.82118-1-ysato@users.sourceforge.jp/



Hi,

This series seems to have some coding style problems. See output below for
more information:

Subject: [PATCH v32 00/22] Add RX archtecture support
Message-id: 20200224141923.82118-1-ysato@users.sourceforge.jp
Type: series

=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===

From https://github.com/patchew-project/qemu
 * [new tag]         patchew/20200224141923.82118-1-ysato@users.sourceforge.jp -> patchew/20200224141923.82118-1-ysato@users.sourceforge.jp
Switched to a new branch 'test'
0ae38e6 qemu-doc.texi: Add RX section.
8b9073f BootLinuxConsoleTest: Test the RX-Virt machine
f8d0650 Add rx-softmmu
cf1381e hw/rx: Restrict the RX62N microcontroller to the RX62N CPU core
5d5c1a5 hw/rx: Honor -accel qtest
728f2eb hw/rx: RX Target hardware definition
8481bf0 hw/char: RX62N serial communication interface (SCI)
ee762ab hw/timer: RX62N internal timer modules
03d1012 hw/intc: RX62N interrupt controller (ICUa)
2e07be8 target/rx: Dump bytes for each insn during disassembly
2d4a25a target/rx: Collect all bytes during disassembly
2dba217 target/rx: Emit all disassembly in one prt()
98b7b5b target/rx: Use prt_ldmi for XCHG_mr disassembly
b790530 target/rx: Replace operand with prt_ldmi in disassembler
f89f8e8 target/rx: Disassemble rx_index_addr into a string
14e70b3 target/rx: RX disassembler
1ab8ca5 target/rx: CPU definition
07ea8aa target/rx: TCG helper
1870105 target/rx: TCG translation
2289e63 hw/registerfields.h: Add 8bit and 16bit register macros
d2e0f20 qemu/bitops.h: Add extract8 and extract16
149843e MAINTAINERS: Add RX

=== OUTPUT BEGIN ===
1/22 Checking commit 149843e67d9b (MAINTAINERS: Add RX)
2/22 Checking commit d2e0f20da263 (qemu/bitops.h: Add extract8 and extract16)
3/22 Checking commit 2289e638d473 (hw/registerfields.h: Add 8bit and 16bit register macros)
Use of uninitialized value in concatenation (.) or string at ./scripts/checkpatch.pl line 2495.
ERROR: Macros with multiple statements should be enclosed in a do - while loop
#27: FILE: include/hw/registerfields.h:25:
+#define REG8(reg, addr)                                                  \
+    enum { A_ ## reg = (addr) };                                          \
+    enum { R_ ## reg = (addr) };

ERROR: Macros with multiple statements should be enclosed in a do - while loop
#31: FILE: include/hw/registerfields.h:29:
+#define REG16(reg, addr)                                                  \
+    enum { A_ ## reg = (addr) };                                          \
+    enum { R_ ## reg = (addr) / 2 };

total: 2 errors, 0 warnings, 56 lines checked

Patch 3/22 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

4/22 Checking commit 1870105f2530 (target/rx: TCG translation)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#20: 
new file mode 100644

total: 0 errors, 1 warnings, 3065 lines checked

Patch 4/22 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
5/22 Checking commit 07ea8aad4e81 (target/rx: TCG helper)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#21: 
new file mode 100644

total: 0 errors, 1 warnings, 650 lines checked

Patch 5/22 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
6/22 Checking commit 1ab8ca5e5939 (target/rx: CPU definition)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#22: 
new file mode 100644

total: 0 errors, 1 warnings, 659 lines checked

Patch 6/22 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
7/22 Checking commit 14e70b35628e (target/rx: RX disassembler)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#38: 
new file mode 100644

total: 0 errors, 1 warnings, 1497 lines checked

Patch 7/22 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
8/22 Checking commit f89f8e880852 (target/rx: Disassemble rx_index_addr into a string)
9/22 Checking commit b790530f3a0a (target/rx: Replace operand with prt_ldmi in disassembler)
10/22 Checking commit 98b7b5b0142e (target/rx: Use prt_ldmi for XCHG_mr disassembly)
11/22 Checking commit 2dba2171e47d (target/rx: Emit all disassembly in one prt())
12/22 Checking commit 2d4a25af9dda (target/rx: Collect all bytes during disassembly)
13/22 Checking commit 2e07be8ada02 (target/rx: Dump bytes for each insn during disassembly)
14/22 Checking commit 03d1012bb8ef (hw/intc: RX62N interrupt controller (ICUa))
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#40: 
new file mode 100644

total: 0 errors, 1 warnings, 445 lines checked

Patch 14/22 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
15/22 Checking commit ee762abd1996 (hw/timer: RX62N internal timer modules)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#50: 
new file mode 100644

total: 0 errors, 1 warnings, 845 lines checked

Patch 15/22 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
16/22 Checking commit 8481bf0d7b4e (hw/char: RX62N serial communication interface (SCI))
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#43: 
new file mode 100644

total: 0 errors, 1 warnings, 400 lines checked

Patch 16/22 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
17/22 Checking commit 728f2eb4ffa4 (hw/rx: RX Target hardware definition)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#23: 
new file mode 100644

total: 0 errors, 1 warnings, 495 lines checked

Patch 17/22 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
18/22 Checking commit 5d5c1a55093c (hw/rx: Honor -accel qtest)
19/22 Checking commit cf1381e74ca5 (hw/rx: Restrict the RX62N microcontroller to the RX62N CPU core)
20/22 Checking commit f8d0650630be (Add rx-softmmu)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#69: 
new file mode 100644

total: 0 errors, 1 warnings, 76 lines checked

Patch 20/22 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
21/22 Checking commit 8b9073f76d50 (BootLinuxConsoleTest: Test the RX-Virt machine)
22/22 Checking commit 0ae38e67b041 (qemu-doc.texi: Add RX section.)
=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/20200224141923.82118-1-ysato@users.sourceforge.jp/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com