mbox series

[v29,00/22] Add RX archtecture support

Message ID 20200123132525.80891-1-ysato@users.sourceforge.jp (mailing list archive)
Headers show
Series Add RX archtecture support | expand

Message

Yoshinori Sato Jan. 23, 2020, 1:25 p.m. UTC
Hello.
This patch series is added Renesas RX target emulation.

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

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                              |    8 +
 default-configs/rx-softmmu.mak         |    3 +
 qapi/machine.json                      |    3 +-
 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 +
 arch_init.c                            |    2 +
 hw/char/renesas_sci.c                  |  343 ++++
 hw/intc/rx_icu.c                       |  379 ++++
 hw/rx/rx-virt.c                        |  142 ++
 hw/rx/rx62n.c                          |  247 +++
 hw/timer/renesas_cmt.c                 |  278 +++
 hw/timer/renesas_tmr.c                 |  458 +++++
 target/rx/cpu.c                        |  217 +++
 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 +
 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 +
 target/rx/insns.decode                 |  621 ++++++
 tests/acceptance/boot_linux_console.py |   47 +
 46 files changed, 8116 insertions(+), 2 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 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 hw/rx/Kconfig
 create mode 100644 hw/rx/Makefile.objs
 create mode 100644 target/rx/Makefile.objs
 create mode 100644 target/rx/insns.decode

Comments

no-reply@patchew.org Jan. 23, 2020, 4:24 p.m. UTC | #1
Patchew URL: https://patchew.org/QEMU/20200123132525.80891-1-ysato@users.sourceforge.jp/



Hi,

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

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

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

Switched to a new branch 'test'
6d13a65 qemu-doc.texi: Add RX section.
874583a BootLinuxConsoleTest: Test the RX-Virt machine
f995b9f Add rx-softmmu
ec4b395 hw/rx: Restrict the RX62N microcontroller to the RX62N CPU core
826836c hw/rx: Honor -accel qtest
e7b98bd hw/rx: RX Target hardware definition
e7ce02a hw/char: RX62N serial communication interface (SCI)
c61b55a hw/timer: RX62N internal timer modules
0d120aa hw/intc: RX62N interrupt controller (ICUa)
a6f8c38 target/rx: Dump bytes for each insn during disassembly
5eed113 target/rx: Collect all bytes during disassembly
bd78d71 target/rx: Emit all disassembly in one prt()
8ad74e0 target/rx: Use prt_ldmi for XCHG_mr disassembly
7c41613 target/rx: Replace operand with prt_ldmi in disassembler
a503b6c target/rx: Disassemble rx_index_addr into a string
8464bc7 target/rx: RX disassembler
6713b29 target/rx: CPU definition
7382e8e target/rx: TCG helper
ad5c7a4 target/rx: TCG translation
7272609 hw/registerfields.h: Add 8bit and 16bit register macros
d6713f8 qemu/bitops.h: Add extract8 and extract16
a52a580 MAINTAINERS: Add RX

=== OUTPUT BEGIN ===
1/22 Checking commit a52a5800e834 (MAINTAINERS: Add RX)
2/22 Checking commit d6713f83ce84 (qemu/bitops.h: Add extract8 and extract16)
3/22 Checking commit 7272609cbdc4 (hw/registerfields.h: Add 8bit and 16bit register macros)
Use of uninitialized value in concatenation (.) or string at ./scripts/checkpatch.pl line 2484.
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 ad5c7a4dd2a9 (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 7382e8ed011d (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 6713b29fe4c6 (target/rx: CPU definition)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#32: 
new file mode 100644

total: 0 errors, 1 warnings, 588 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 8464bc723f99 (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 a503b6c068a1 (target/rx: Disassemble rx_index_addr into a string)
9/22 Checking commit 7c41613f243b (target/rx: Replace operand with prt_ldmi in disassembler)
10/22 Checking commit 8ad74e0231c9 (target/rx: Use prt_ldmi for XCHG_mr disassembly)
11/22 Checking commit bd78d7178212 (target/rx: Emit all disassembly in one prt())
12/22 Checking commit 5eed1134773e (target/rx: Collect all bytes during disassembly)
13/22 Checking commit a6f8c38dba99 (target/rx: Dump bytes for each insn during disassembly)
14/22 Checking commit 0d120aac4ab7 (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 c61b55a6ca02 (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 e7ce02aa3510 (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, 401 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 e7b98bd2921b (hw/rx: RX Target hardware definition)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#23: 
new file mode 100644

ERROR: trailing whitespace
#128: FILE: hw/rx/rx-virt.c:73:
+    $

ERROR: trailing whitespace
#146: FILE: hw/rx/rx-virt.c:91:
+        /* The kernel image is loaded into $

WARNING: Block comments use a leading /* on a separate line
#146: FILE: hw/rx/rx-virt.c:91:
+        /* The kernel image is loaded into 

WARNING: Block comments use * on subsequent lines
#147: FILE: hw/rx/rx-virt.c:92:
+        /* The kernel image is loaded into 
+           the latter half of the SDRAM space. */

WARNING: Block comments use a trailing */ on a separate line
#147: FILE: hw/rx/rx-virt.c:92:
+           the latter half of the SDRAM space. */

total: 2 errors, 4 warnings, 493 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 826836cc1b70 (hw/rx: Honor -accel qtest)
19/22 Checking commit ec4b39503b51 (hw/rx: Restrict the RX62N microcontroller to the RX62N CPU core)
20/22 Checking commit f995b9f958a4 (Add rx-softmmu)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#59: 
new file mode 100644

total: 0 errors, 1 warnings, 74 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 874583abaefe (BootLinuxConsoleTest: Test the RX-Virt machine)
22/22 Checking commit 6d13a65caf1f (qemu-doc.texi: Add RX section.)
=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/20200123132525.80891-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
Yoshinori Sato Jan. 24, 2020, 2:42 a.m. UTC | #2
On Thu, 23 Jan 2020 22:25:03 +0900,
Yoshinori Sato wrote:
> 
> Hello.
> This patch series is added Renesas RX target emulation.
> 
> 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-20200112

Sorry. I mistake tag.
v29 is here.
git://git.pf.osdn.net/gitroot/y/ys/ysato/qemu.git tags/rx-20200123

> 
> 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                              |    8 +
>  default-configs/rx-softmmu.mak         |    3 +
>  qapi/machine.json                      |    3 +-
>  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 +
>  arch_init.c                            |    2 +
>  hw/char/renesas_sci.c                  |  343 ++++
>  hw/intc/rx_icu.c                       |  379 ++++
>  hw/rx/rx-virt.c                        |  142 ++
>  hw/rx/rx62n.c                          |  247 +++
>  hw/timer/renesas_cmt.c                 |  278 +++
>  hw/timer/renesas_tmr.c                 |  458 +++++
>  target/rx/cpu.c                        |  217 +++
>  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 +
>  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 +
>  target/rx/insns.decode                 |  621 ++++++
>  tests/acceptance/boot_linux_console.py |   47 +
>  46 files changed, 8116 insertions(+), 2 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 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 hw/rx/Kconfig
>  create mode 100644 hw/rx/Makefile.objs
>  create mode 100644 target/rx/Makefile.objs
>  create mode 100644 target/rx/insns.decode
> 
> -- 
> 2.20.1
>