[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v19 00/21] Add RX archtecture support
From: |
Philippe Mathieu-Daudé |
Subject: |
[Qemu-devel] [PATCH v19 00/21] Add RX archtecture support |
Date: |
Tue, 11 Jun 2019 13:37:10 +0200 |
Hi Yoshinori, Richard, Igor.
This series an iteration of the previous v16 from Yoshinori with
the fixups requested by Igor here:
https://lists.gnu.org/archive/html/qemu-devel/2019-05/msg07260.html
and
https://lists.gnu.org/archive/html/qemu-devel/2019-06/msg01547.html
plus trivial cleanups.
It is based on commit 19735c837ae2056b4651720290eda59498eca65a,
that is before the merge of pull-tcg-20190610 (CPUNegativeOffsetState)
which resulted in commit a578cdfbdd8f9beff5ced52b7826ddb1669abbbf.
Series reordered, some patches squashed.
Patches modified: 2, 3, 14, 19 (wait review from Igor)
New patch: 16 (wait review from Yoshinori)
Extra patch: 21 (meant for testing)
This branch is available here: https://gitlab.com/philmd/qemu/tree/rx-v19
We have:
$ qemu-system-rx -cpu help
rx62n
(qemu) info qom-tree
/machine (rx-virt-machine)
/peripheral (container)
/mcu (rx62n)
/sci[0] (renesas-sci)
/renesas-sci[0] (qemu:memory-region)
/icu (rx-icu)
...
/cpu (rx62n-rx-cpu)
/unnamed-gpio-in[0] (irq)
/unnamed-gpio-in[1] (irq)
...
$ git backport-diff -u rx-16 -r 19735c837ae..rx-v19
Key:
[----] : patches are identical
[####] : number of functional differences between upstream/downstream patch
[down] : patch is downstream-only
The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively
001/21:[----] [--] 'target/rx: TCG translation'
002/21:[0011] [FC] 'target/rx: TCG helper'
003/21:[0136] [FC] 'target/rx: CPU definition'
004/21:[----] [--] 'target/rx: RX disassembler'
005/21:[----] [--] 'target/rx: Disassemble rx_index_addr into a string'
006/21:[----] [--] 'target/rx: Replace operand with prt_ldmi in disassembler'
007/21:[----] [--] 'target/rx: Use prt_ldmi for XCHG_mr disassembly'
008/21:[----] [--] 'target/rx: Emit all disassembly in one prt()'
009/21:[----] [--] 'target/rx: Collect all bytes during disassembly'
010/21:[----] [--] 'target/rx: Dump bytes for each insn during disassembly'
011/21:[----] [--] 'hw/intc: RX62N interrupt controller (ICUa)'
012/21:[----] [--] 'hw/timer: RX62N internal timer modules'
013/21:[----] [--] 'hw/char: RX62N serial communication interface (SCI)'
014/21:[0013] [FC] 'hw/rx: RX Target hardware definition'
015/21:[----] [-C] 'hw/rx: Honor -accel qtest'
016/21:[down] 'hw/rx: Restrict the RX62N microcontroller to the RX62N CPU core'
017/21:[----] [--] 'qemu/bitops.h: Add extract8 and extract16'
018/21:[----] [--] 'hw/registerfields.h: Add 8bit and 16bit register macros'
019/21:[0005] [FC] 'Add rx-softmmu'
020/21:[----] [--] 'MAINTAINERS: Add RX'
021/21:[down] 'BootLinuxConsoleTest: Test the RX-Virt machine'
Thanks,
Phil.
Philippe Mathieu-Daudé (3):
hw/rx: Restrict the RX62N microcontroller to the RX62N CPU core
hw/registerfields.h: Add 8bit and 16bit register macros
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 (11):
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
qemu/bitops.h: Add extract8 and extract16
Add rx-softmmu
MAINTAINERS: Add RX
MAINTAINERS | 19 +
arch_init.c | 2 +
configure | 8 +
default-configs/rx-softmmu.mak | 3 +
hw/Kconfig | 1 +
hw/char/Kconfig | 3 +
hw/char/Makefile.objs | 1 +
hw/char/renesas_sci.c | 340 ++++
hw/intc/Kconfig | 3 +
hw/intc/Makefile.objs | 1 +
hw/intc/rx_icu.c | 376 ++++
hw/rx/Kconfig | 14 +
hw/rx/Makefile.objs | 2 +
hw/rx/rx-virt.c | 113 ++
hw/rx/rx62n.c | 246 +++
hw/timer/Kconfig | 6 +
hw/timer/Makefile.objs | 3 +
hw/timer/renesas_cmt.c | 275 +++
hw/timer/renesas_tmr.c | 455 +++++
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 +
qapi/common.json | 3 +-
target/rx/Makefile.objs | 12 +
target/rx/cpu-qom.h | 42 +
target/rx/cpu.c | 252 +++
target/rx/cpu.h | 201 ++
target/rx/disas.c | 1446 ++++++++++++++
target/rx/gdbstub.c | 112 ++
target/rx/helper.c | 148 ++
target/rx/helper.h | 31 +
target/rx/insns.decode | 621 ++++++
target/rx/monitor.c | 38 +
target/rx/op_helper.c | 470 +++++
target/rx/translate.c | 2432 ++++++++++++++++++++++++
tests/acceptance/boot_linux_console.py | 51 +
tests/machine-none-test.c | 1 +
45 files changed, 8096 insertions(+), 2 deletions(-)
create mode 100644 default-configs/rx-softmmu.mak
create mode 100644 hw/char/renesas_sci.c
create mode 100644 hw/intc/rx_icu.c
create mode 100644 hw/rx/Kconfig
create mode 100644 hw/rx/Makefile.objs
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 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/Makefile.objs
create mode 100644 target/rx/cpu-qom.h
create mode 100644 target/rx/cpu.c
create mode 100644 target/rx/cpu.h
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/helper.h
create mode 100644 target/rx/insns.decode
create mode 100644 target/rx/monitor.c
create mode 100644 target/rx/op_helper.c
create mode 100644 target/rx/translate.c
--
2.20.1
- [Qemu-devel] [PATCH v19 00/21] Add RX archtecture support,
Philippe Mathieu-Daudé <=
- [Qemu-devel] [PATCH v19 20/21] MAINTAINERS: Add RX, Philippe Mathieu-Daudé, 2019/06/11
- [Qemu-devel] [PATCH v19 21/21] BootLinuxConsoleTest: Test the RX-Virt machine, Philippe Mathieu-Daudé, 2019/06/11
- [Qemu-devel] [PATCH v19 14/21] hw/rx: RX Target hardware definition, Philippe Mathieu-Daudé, 2019/06/11
- [Qemu-devel] [PATCH v19 19/21] Add rx-softmmu, Philippe Mathieu-Daudé, 2019/06/11
- [Qemu-devel] [PATCH v19 16/21] hw/rx: Restrict the RX62N microcontroller to the RX62N CPU core, Philippe Mathieu-Daudé, 2019/06/11
- [Qemu-devel] [PATCH v19 18/21] hw/registerfields.h: Add 8bit and 16bit register macros, Philippe Mathieu-Daudé, 2019/06/11
- [Qemu-devel] [PATCH v19 13/21] hw/char: RX62N serial communication interface (SCI), Philippe Mathieu-Daudé, 2019/06/11
- [Qemu-devel] [PATCH v19 08/21] target/rx: Emit all disassembly in one prt(), Philippe Mathieu-Daudé, 2019/06/11
- [Qemu-devel] [PATCH v19 01/21] target/rx: TCG translation, Philippe Mathieu-Daudé, 2019/06/11