[PATCH 0/2] target/rx: add RXv2/RXv3 CPU support

Sayyad Mahammad Umar posted 2 patches 1 week, 6 days ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260913-umar-rx-series-v1-0-5a5841a5d1e9@sayyadumar.com
Maintainers: Yoshinori Sato <yoshinori.sato@nifty.com>, Alistair Francis <alistair@alistair23.me>, Peter Maydell <peter.maydell@linaro.org>, Jason Wang <jasowangio@gmail.com>
MAINTAINERS                           |   20 +
hw/adc/renesas_s12ad.c                |  324 +++++++++
hw/dma/renesas_rx_dmac.c              |  317 +++++++++
hw/dma/renesas_rx_dtc.c               |  169 +++++
hw/gpio/renesas_rx_gpio.c             |  256 +++++++
hw/misc/renesas_rx_crc.c              |  219 ++++++
hw/misc/renesas_rx_fcu.c              |  985 ++++++++++++++++++++++++++
hw/misc/renesas_rx_romcache.c         |  139 ++++
hw/misc/rx65n_sysclk.c                |  190 +++++
hw/net/renesas_etherc.c               |  955 +++++++++++++++++++++++++
hw/rtc/renesas_rx_rtc.c               |  330 +++++++++
hw/ssi/renesas_rspi.c                 |  319 +++++++++
hw/timer/renesas_mtu3.c               |  509 ++++++++++++++
hw/watchdog/renesas_rx_wdt.c          |  193 ++++++
include/hw/adc/renesas_s12ad.h        |   61 ++
include/hw/dma/renesas_rx_dmac.h      |   57 ++
include/hw/dma/renesas_rx_dtc.h       |   42 ++
include/hw/gpio/renesas_rx_gpio.h     |   64 ++
include/hw/misc/renesas_rx_crc.h      |   30 +
include/hw/misc/renesas_rx_fcu.h      |  191 +++++
include/hw/misc/renesas_rx_romcache.h |   30 +
include/hw/misc/rx65n_sysclk.h        |   37 +
include/hw/net/renesas_etherc.h       |  109 +++
include/hw/rtc/renesas_rx_rtc.h       |   52 ++
include/hw/ssi/renesas_rspi.h         |   61 ++
include/hw/timer/renesas_mtu3.h       |   73 ++
include/hw/watchdog/renesas_rx_wdt.h  |   48 ++
target/rx/cpu-param.h                 |    3 +
target/rx/cpu-qom.h                   |    2 +
target/rx/cpu.c                       |   57 +-
target/rx/cpu.h                       |  124 ++++
target/rx/disas.c                     |  383 ++++++++++-
target/rx/gdbstub.c                   |   44 +-
target/rx/helper.c                    |   56 +-
target/rx/helper.h                    |   22 +
target/rx/insns.decode                |  125 +++-
target/rx/meson.build                 |    6 +-
target/rx/op_helper.c                 |  357 ++++++++++
target/rx/translate.c                 | 1225 ++++++++++++++++++++++++++-------
39 files changed, 7873 insertions(+), 311 deletions(-)
[PATCH 0/2] target/rx: add RXv2/RXv3 CPU support
Posted by Sayyad Mahammad Umar 1 week, 6 days ago
This series extends the RX target with RXv2 and RXv3 CPU support,
forming the foundation for the RX65N, RX651, and RX72M machine models.

The first patch adds the CPU definitions, instruction support, and
translator changes required by the newer RX cores.

The second patch adds the initial RX machine and peripheral support.

Signed-off-by: Sayyad Mahammad Umar <contact@sayyadumar.com>
---
Sayyad Mahammad Umar (2):
      target/rx: add RXv2 and RXv3 CPU support
      hw/rx: add common RX peripherals

 MAINTAINERS                           |   20 +
 hw/adc/renesas_s12ad.c                |  324 +++++++++
 hw/dma/renesas_rx_dmac.c              |  317 +++++++++
 hw/dma/renesas_rx_dtc.c               |  169 +++++
 hw/gpio/renesas_rx_gpio.c             |  256 +++++++
 hw/misc/renesas_rx_crc.c              |  219 ++++++
 hw/misc/renesas_rx_fcu.c              |  985 ++++++++++++++++++++++++++
 hw/misc/renesas_rx_romcache.c         |  139 ++++
 hw/misc/rx65n_sysclk.c                |  190 +++++
 hw/net/renesas_etherc.c               |  955 +++++++++++++++++++++++++
 hw/rtc/renesas_rx_rtc.c               |  330 +++++++++
 hw/ssi/renesas_rspi.c                 |  319 +++++++++
 hw/timer/renesas_mtu3.c               |  509 ++++++++++++++
 hw/watchdog/renesas_rx_wdt.c          |  193 ++++++
 include/hw/adc/renesas_s12ad.h        |   61 ++
 include/hw/dma/renesas_rx_dmac.h      |   57 ++
 include/hw/dma/renesas_rx_dtc.h       |   42 ++
 include/hw/gpio/renesas_rx_gpio.h     |   64 ++
 include/hw/misc/renesas_rx_crc.h      |   30 +
 include/hw/misc/renesas_rx_fcu.h      |  191 +++++
 include/hw/misc/renesas_rx_romcache.h |   30 +
 include/hw/misc/rx65n_sysclk.h        |   37 +
 include/hw/net/renesas_etherc.h       |  109 +++
 include/hw/rtc/renesas_rx_rtc.h       |   52 ++
 include/hw/ssi/renesas_rspi.h         |   61 ++
 include/hw/timer/renesas_mtu3.h       |   73 ++
 include/hw/watchdog/renesas_rx_wdt.h  |   48 ++
 target/rx/cpu-param.h                 |    3 +
 target/rx/cpu-qom.h                   |    2 +
 target/rx/cpu.c                       |   57 +-
 target/rx/cpu.h                       |  124 ++++
 target/rx/disas.c                     |  383 ++++++++++-
 target/rx/gdbstub.c                   |   44 +-
 target/rx/helper.c                    |   56 +-
 target/rx/helper.h                    |   22 +
 target/rx/insns.decode                |  125 +++-
 target/rx/meson.build                 |    6 +-
 target/rx/op_helper.c                 |  357 ++++++++++
 target/rx/translate.c                 | 1225 ++++++++++++++++++++++++++-------
 39 files changed, 7873 insertions(+), 311 deletions(-)
---
base-commit: ff1d2d19d7e24893e2012d879f8e73077e17b9bd
change-id: 20260913-umar-rx-series-0bfbbfe6b074

Best regards,
--  
Sayyad Mahammad Umar <contact@sayyadumar.com>
Re: [PATCH 0/2] target/rx: add RXv2/RXv3 CPU support
Posted by yoshinori.sato@nifty.com 1 week, 5 days ago
On Mon, 14 Sep 2026 03:21:04 +0900,
Sayyad Mahammad Umar wrote:
> 
> This series extends the RX target with RXv2 and RXv3 CPU support,
> forming the foundation for the RX65N, RX651, and RX72M machine models.
> 
> The first patch adds the CPU definitions, instruction support, and
> translator changes required by the newer RX cores.
> 
> The second patch adds the initial RX machine and peripheral support.
> 
> Signed-off-by: Sayyad Mahammad Umar <contact@sayyadumar.com>
> ---
> Sayyad Mahammad Umar (2):
>       target/rx: add RXv2 and RXv3 CPU support
>       hw/rx: add common RX peripherals
> 
>  MAINTAINERS                           |   20 +
>  hw/adc/renesas_s12ad.c                |  324 +++++++++
>  hw/dma/renesas_rx_dmac.c              |  317 +++++++++
>  hw/dma/renesas_rx_dtc.c               |  169 +++++
>  hw/gpio/renesas_rx_gpio.c             |  256 +++++++
>  hw/misc/renesas_rx_crc.c              |  219 ++++++
>  hw/misc/renesas_rx_fcu.c              |  985 ++++++++++++++++++++++++++
>  hw/misc/renesas_rx_romcache.c         |  139 ++++
>  hw/misc/rx65n_sysclk.c                |  190 +++++
>  hw/net/renesas_etherc.c               |  955 +++++++++++++++++++++++++
>  hw/rtc/renesas_rx_rtc.c               |  330 +++++++++
>  hw/ssi/renesas_rspi.c                 |  319 +++++++++
>  hw/timer/renesas_mtu3.c               |  509 ++++++++++++++
>  hw/watchdog/renesas_rx_wdt.c          |  193 ++++++
>  include/hw/adc/renesas_s12ad.h        |   61 ++
>  include/hw/dma/renesas_rx_dmac.h      |   57 ++
>  include/hw/dma/renesas_rx_dtc.h       |   42 ++
>  include/hw/gpio/renesas_rx_gpio.h     |   64 ++
>  include/hw/misc/renesas_rx_crc.h      |   30 +
>  include/hw/misc/renesas_rx_fcu.h      |  191 +++++
>  include/hw/misc/renesas_rx_romcache.h |   30 +
>  include/hw/misc/rx65n_sysclk.h        |   37 +
>  include/hw/net/renesas_etherc.h       |  109 +++
>  include/hw/rtc/renesas_rx_rtc.h       |   52 ++
>  include/hw/ssi/renesas_rspi.h         |   61 ++
>  include/hw/timer/renesas_mtu3.h       |   73 ++
>  include/hw/watchdog/renesas_rx_wdt.h  |   48 ++
>  target/rx/cpu-param.h                 |    3 +
>  target/rx/cpu-qom.h                   |    2 +
>  target/rx/cpu.c                       |   57 +-
>  target/rx/cpu.h                       |  124 ++++
>  target/rx/disas.c                     |  383 ++++++++++-
>  target/rx/gdbstub.c                   |   44 +-
>  target/rx/helper.c                    |   56 +-
>  target/rx/helper.h                    |   22 +
>  target/rx/insns.decode                |  125 +++-
>  target/rx/meson.build                 |    6 +-
>  target/rx/op_helper.c                 |  357 ++++++++++
>  target/rx/translate.c                 | 1225 ++++++++++++++++++++++++++-------
>  39 files changed, 7873 insertions(+), 311 deletions(-)
> ---
> base-commit: ff1d2d19d7e24893e2012d879f8e73077e17b9bd
> change-id: 20260913-umar-rx-series-0bfbbfe6b074
> 
> Best regards,
> --  
> Sayyad Mahammad Umar <contact@sayyadumar.com>
> 

Thanks.
I also implemented some peripheral functions to emulate the actual board.
I haven't verified every single change, but if there are any missing features,
it would be best to combine them with my changes.

-- 
Yosinori Sato
Re: [PATCH 0/2] target/rx: add RXv2/RXv3 CPU support
Posted by Richard Henderson 1 week, 5 days ago
On 9/13/26 08:21, Sayyad Mahammad Umar wrote:
> This series extends the RX target with RXv2 and RXv3 CPU support,
> forming the foundation for the RX65N, RX651, and RX72M machine models.
> 
> The first patch adds the CPU definitions, instruction support, and
> translator changes required by the newer RX cores.
> 
> The second patch adds the initial RX machine and peripheral support.
> 
> Signed-off-by: Sayyad Mahammad Umar <contact@sayyadumar.com>
> ---
> Sayyad Mahammad Umar (2):
>        target/rx: add RXv2 and RXv3 CPU support
>        hw/rx: add common RX peripherals
> 
>   MAINTAINERS                           |   20 +
>   hw/adc/renesas_s12ad.c                |  324 +++++++++
>   hw/dma/renesas_rx_dmac.c              |  317 +++++++++
>   hw/dma/renesas_rx_dtc.c               |  169 +++++
>   hw/gpio/renesas_rx_gpio.c             |  256 +++++++
>   hw/misc/renesas_rx_crc.c              |  219 ++++++
>   hw/misc/renesas_rx_fcu.c              |  985 ++++++++++++++++++++++++++
>   hw/misc/renesas_rx_romcache.c         |  139 ++++
>   hw/misc/rx65n_sysclk.c                |  190 +++++
>   hw/net/renesas_etherc.c               |  955 +++++++++++++++++++++++++
>   hw/rtc/renesas_rx_rtc.c               |  330 +++++++++
>   hw/ssi/renesas_rspi.c                 |  319 +++++++++
>   hw/timer/renesas_mtu3.c               |  509 ++++++++++++++
>   hw/watchdog/renesas_rx_wdt.c          |  193 ++++++
>   include/hw/adc/renesas_s12ad.h        |   61 ++
>   include/hw/dma/renesas_rx_dmac.h      |   57 ++
>   include/hw/dma/renesas_rx_dtc.h       |   42 ++
>   include/hw/gpio/renesas_rx_gpio.h     |   64 ++
>   include/hw/misc/renesas_rx_crc.h      |   30 +
>   include/hw/misc/renesas_rx_fcu.h      |  191 +++++
>   include/hw/misc/renesas_rx_romcache.h |   30 +
>   include/hw/misc/rx65n_sysclk.h        |   37 +
>   include/hw/net/renesas_etherc.h       |  109 +++
>   include/hw/rtc/renesas_rx_rtc.h       |   52 ++
>   include/hw/ssi/renesas_rspi.h         |   61 ++
>   include/hw/timer/renesas_mtu3.h       |   73 ++
>   include/hw/watchdog/renesas_rx_wdt.h  |   48 ++
>   target/rx/cpu-param.h                 |    3 +
>   target/rx/cpu-qom.h                   |    2 +
>   target/rx/cpu.c                       |   57 +-
>   target/rx/cpu.h                       |  124 ++++
>   target/rx/disas.c                     |  383 ++++++++++-
>   target/rx/gdbstub.c                   |   44 +-
>   target/rx/helper.c                    |   56 +-
>   target/rx/helper.h                    |   22 +
>   target/rx/insns.decode                |  125 +++-
>   target/rx/meson.build                 |    6 +-
>   target/rx/op_helper.c                 |  357 ++++++++++
>   target/rx/translate.c                 | 1225 ++++++++++++++++++++++++++-------
>   39 files changed, 7873 insertions(+), 311 deletions(-)
With 7500+ new lines in two patches, no one is going to look at this. 
This patch set must be split into many many more patches.  For example, 
one per new instruction, one per new device, one per logical change to 
existing code.


r~
Re: [PATCH 0/2] target/rx: add RXv2/RXv3 CPU support
Posted by Umar, Sayyad Mahammad 1 week, 5 days ago
On 9/13/26 23:39, Richard Henderson wrote:
> On 9/13/26 08:21, Sayyad Mahammad Umar wrote:
>> This series extends the RX target with RXv2 and RXv3 CPU support,
>> forming the foundation for the RX65N, RX651, and RX72M machine models.
>>
>> The first patch adds the CPU definitions, instruction support, and
>> translator changes required by the newer RX cores.
>>
>> The second patch adds the initial RX machine and peripheral support.
>>
>> Signed-off-by: Sayyad Mahammad Umar <contact@sayyadumar.com>
>> ---
>> Sayyad Mahammad Umar (2):
>>        target/rx: add RXv2 and RXv3 CPU support
>>        hw/rx: add common RX peripherals
>>
>>   MAINTAINERS                           |   20 +
>>   hw/adc/renesas_s12ad.c                |  324 +++++++++
>>   hw/dma/renesas_rx_dmac.c              |  317 +++++++++
>>   hw/dma/renesas_rx_dtc.c               |  169 +++++
>>   hw/gpio/renesas_rx_gpio.c             |  256 +++++++
>>   hw/misc/renesas_rx_crc.c              |  219 ++++++
>>   hw/misc/renesas_rx_fcu.c              |  985 
>> ++++++++++++++++++++++++++
>>   hw/misc/renesas_rx_romcache.c         |  139 ++++
>>   hw/misc/rx65n_sysclk.c                |  190 +++++
>>   hw/net/renesas_etherc.c               |  955 +++++++++++++++++++++++++
>>   hw/rtc/renesas_rx_rtc.c               |  330 +++++++++
>>   hw/ssi/renesas_rspi.c                 |  319 +++++++++
>>   hw/timer/renesas_mtu3.c               |  509 ++++++++++++++
>>   hw/watchdog/renesas_rx_wdt.c          |  193 ++++++
>>   include/hw/adc/renesas_s12ad.h        |   61 ++
>>   include/hw/dma/renesas_rx_dmac.h      |   57 ++
>>   include/hw/dma/renesas_rx_dtc.h       |   42 ++
>>   include/hw/gpio/renesas_rx_gpio.h     |   64 ++
>>   include/hw/misc/renesas_rx_crc.h      |   30 +
>>   include/hw/misc/renesas_rx_fcu.h      |  191 +++++
>>   include/hw/misc/renesas_rx_romcache.h |   30 +
>>   include/hw/misc/rx65n_sysclk.h        |   37 +
>>   include/hw/net/renesas_etherc.h       |  109 +++
>>   include/hw/rtc/renesas_rx_rtc.h       |   52 ++
>>   include/hw/ssi/renesas_rspi.h         |   61 ++
>>   include/hw/timer/renesas_mtu3.h       |   73 ++
>>   include/hw/watchdog/renesas_rx_wdt.h  |   48 ++
>>   target/rx/cpu-param.h                 |    3 +
>>   target/rx/cpu-qom.h                   |    2 +
>>   target/rx/cpu.c                       |   57 +-
>>   target/rx/cpu.h                       |  124 ++++
>>   target/rx/disas.c                     |  383 ++++++++++-
>>   target/rx/gdbstub.c                   |   44 +-
>>   target/rx/helper.c                    |   56 +-
>>   target/rx/helper.h                    |   22 +
>>   target/rx/insns.decode                |  125 +++-
>>   target/rx/meson.build                 |    6 +-
>>   target/rx/op_helper.c                 |  357 ++++++++++
>>   target/rx/translate.c                 | 1225 
>> ++++++++++++++++++++++++++-------
>>   39 files changed, 7873 insertions(+), 311 deletions(-)
> With 7500+ new lines in two patches, no one is going to look at this. 
> This patch set must be split into many many more patches. For example, 
> one per new instruction, one per new device, one per logical change to 
> existing code.
>
>
> r~ 

Hello Mr Henderson,

Thanks for the comment. You are right this patch is rather large. I will 
split this into smaller patches and have another go at it.

Regards,

Umar