mbox series

[00/10] Add RX hardware emulation

Message ID 20200531162427.57410-1-ysato@users.sourceforge.jp (mailing list archive)
Headers show
Series Add RX hardware emulation | expand

Message

Yoshinori Sato May 31, 2020, 4:24 p.m. UTC
Hello.

This series add to hardware emulation module for RX target.

Details below.
Interrupt controller, 8bit timer, 16bit comapare match timer and
SCI is RX62N integrated peripheral.
rx-virt - RX62N MCU and external RAM. It like gdb simulator.

The compare match timer has a CPU interface similar to the SH4 timer.
sh_timer will be deprecated and integrated into this module.
SCI is also implemented in sh_serial, but the functionality is omitted.
I implemented the complete one as renesas_sci.

git repository here.
git://git.pf.osdn.net/gitroot/y/ys/ysato/qemu.git tags/hw-rx-20200601

Yoshinori Sato (10):
  hw/intc: RX62N interrupt controller (ICUa)
  hw/timer: Renesas 8bit timer module.
  hw/timer: Renesas TMU/CMT module.
  hw/char: Renesas SCI module.
  hw/rx: RX MCU and target
  Add rx-softmmu
  hw/sh4: Convert renesas_sci.
  hw/char: remove sh_serial.c
  hw/sh4: Convert to renesas_timer.c
  hw/timer: remove sh_timer.c

 default-configs/rx-softmmu.mak    |   1 +
 include/hw/char/renesas_sci.h     |  77 +++
 include/hw/intc/rx_icu.h          |  56 +++
 include/hw/rx/rx.h                |   7 +
 include/hw/rx/rx62n.h             |  91 ++++
 include/hw/sh4/sh.h               |  21 -
 include/hw/timer/renesas_8timer.h |  61 +++
 include/hw/timer/renesas_timer.h  |  59 +++
 hw/char/renesas_sci.c             | 786 ++++++++++++++++++++++++++++++
 hw/char/sh_serial.c               | 431 ----------------
 hw/intc/rx_icu.c                  | 379 ++++++++++++++
 hw/rx/rx-virt.c                   | 143 ++++++
 hw/rx/rx62n.c                     | 240 +++++++++
 hw/sh4/sh7750.c                   |  78 ++-
 hw/timer/renesas_8timer.c         | 466 ++++++++++++++++++
 hw/timer/renesas_timer.c          | 421 ++++++++++++++++
 hw/timer/sh_timer.c               | 341 -------------
 hw/Kconfig                        |   1 +
 hw/char/Kconfig                   |   3 +
 hw/char/Makefile.objs             |   3 +-
 hw/intc/Makefile.objs             |   1 +
 hw/rx/Kconfig                     |  13 +
 hw/rx/Makefile.objs               |   2 +
 hw/sh4/Kconfig                    |   3 +-
 hw/timer/Kconfig                  |   6 +
 hw/timer/Makefile.objs            |   4 +-
 26 files changed, 2891 insertions(+), 803 deletions(-)
 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_8timer.h
 create mode 100644 include/hw/timer/renesas_timer.h
 create mode 100644 hw/char/renesas_sci.c
 delete mode 100644 hw/char/sh_serial.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_8timer.c
 create mode 100644 hw/timer/renesas_timer.c
 delete mode 100644 hw/timer/sh_timer.c
 create mode 100644 hw/rx/Kconfig
 create mode 100644 hw/rx/Makefile.objs

Comments

Philippe Mathieu-Daudé May 31, 2020, 4:45 p.m. UTC | #1
On 5/31/20 6:24 PM, Yoshinori Sato wrote:
> Hello.
> 
> This series add to hardware emulation module for RX target.
> 
> Details below.
> Interrupt controller, 8bit timer, 16bit comapare match timer and
> SCI is RX62N integrated peripheral.
> rx-virt - RX62N MCU and external RAM. It like gdb simulator.
> 
> The compare match timer has a CPU interface similar to the SH4 timer.
> sh_timer will be deprecated and integrated into this module.
> SCI is also implemented in sh_serial, but the functionality is omitted.
> I implemented the complete one as renesas_sci.
> 
> git repository here.
> git://git.pf.osdn.net/gitroot/y/ys/ysato/qemu.git tags/hw-rx-20200601

Sigh. It is a bit unfortunate and demotivating that we can not
coordinate this. I was going to send a pre-merge for this today.

What is positive is you unified some SH4/RX peripherals.

I'll try to merge both series. If it takes too long, I might send my
current queue for you to review, then go back to this one you just sent.

Regards,

Phil.
Yoshinori Sato June 1, 2020, 2:32 p.m. UTC | #2
On Mon, 01 Jun 2020 01:45:47 +0900,
Philippe Mathieu-Daudé wrote:
> 
> On 5/31/20 6:24 PM, Yoshinori Sato wrote:
> > Hello.
> > 
> > This series add to hardware emulation module for RX target.
> > 
> > Details below.
> > Interrupt controller, 8bit timer, 16bit comapare match timer and
> > SCI is RX62N integrated peripheral.
> > rx-virt - RX62N MCU and external RAM. It like gdb simulator.
> > 
> > The compare match timer has a CPU interface similar to the SH4 timer.
> > sh_timer will be deprecated and integrated into this module.
> > SCI is also implemented in sh_serial, but the functionality is omitted.
> > I implemented the complete one as renesas_sci.
> > 
> > git repository here.
> > git://git.pf.osdn.net/gitroot/y/ys/ysato/qemu.git tags/hw-rx-20200601
> 
> Sigh. It is a bit unfortunate and demotivating that we can not
> coordinate this. I was going to send a pre-merge for this today.
> 
> What is positive is you unified some SH4/RX peripherals.
> 
> I'll try to merge both series. If it takes too long, I might send my
> current queue for you to review, then go back to this one you just sent.
> 
> Regards,
> 
> Phil.
> 

Oh. Sorry.

The old code had some spec differences.
I have fixed those mistakes here.

I would like to merge this if possible.
Philippe Mathieu-Daudé June 2, 2020, 5:04 p.m. UTC | #3
Hi Yoshinori,

On 6/1/20 4:32 PM, Yoshinori Sato wrote:
> On Mon, 01 Jun 2020 01:45:47 +0900,
> Philippe Mathieu-Daudé wrote:
>>
>> On 5/31/20 6:24 PM, Yoshinori Sato wrote:
>>> Hello.
>>>
>>> This series add to hardware emulation module for RX target.
>>>
>>> Details below.
>>> Interrupt controller, 8bit timer, 16bit comapare match timer and
>>> SCI is RX62N integrated peripheral.
>>> rx-virt - RX62N MCU and external RAM. It like gdb simulator.
>>>
>>> The compare match timer has a CPU interface similar to the SH4 timer.
>>> sh_timer will be deprecated and integrated into this module.
>>> SCI is also implemented in sh_serial, but the functionality is omitted.
>>> I implemented the complete one as renesas_sci.
>>>
>>> git repository here.
>>> git://git.pf.osdn.net/gitroot/y/ys/ysato/qemu.git tags/hw-rx-20200601
>>
>> Sigh. It is a bit unfortunate and demotivating that we can not
>> coordinate this. I was going to send a pre-merge for this today.
>>
>> What is positive is you unified some SH4/RX peripherals.
>>
>> I'll try to merge both series. If it takes too long, I might send my
>> current queue for you to review, then go back to this one you just sent.
>>
>> Regards,
>>
>> Phil.
>>
> 
> Oh. Sorry.
> 
> The old code had some spec differences.
> I have fixed those mistakes here.

Yes, I am glad to see how it evolved, in particular how you merged the
SH4/RX common peripherals :)

> 
> I would like to merge this if possible.

I posted the v33 of your v32:
https://www.mail-archive.com/qemu-devel@nongnu.org/msg708317.html

As it is mostly reviewed and tested, it seems more reasonable to merge
what is reviewed, and then apply your latest patches on top. It took us
already a long time to get there, and I'd not start again to review 30
more times this version.

I believe if would be easier this way, you review/ack the v33 and we get
the peripheral cleanup on top. My 2 cents, feel free to disagree and
insist on restarting the whole review process.

Regards,

Phil.