Message ID | 20190513052518.6274-1-yo-satoh@sios.com (mailing list archive) |
---|---|
Headers | show |
Series | Add RX archtecture support | expand |
Hi Yoshinori, On 5/13/19 7:25 AM, Yoshinori Sato wrote: > Hello. > This patch series is added Renesas RX target emulation. > > Fixed build errors and cleaned up the code. > > My git repository is bellow. > git://git.pf.osdn.net/gitroot/y/ys/ysato/qemu.git tags/rx-20190513 This tag isn't exactly the same as the series you posted, some patches are ordered differently, leading to this failure at commit fc564da941a (Add rx-softmmu) of your tag: ((fc564da941a...))$ make -C rx-softmmu hw/intc/rx_icu.o CC hw/intc/rx_icu.o hw/intc/rx_icu.c:35:9: error: expected ‘)’ before numeric constant REG8(IR, 0) ^~ ) ... hw/intc/rx_icu.c: In function ‘icu_read’: hw/intc/rx_icu.c:174:18: error: ‘A_FIR’ undeclared (first use in this function); did you mean ‘A_FPSW’? if ((addr != A_FIR && size != 1) || ^~~~~ A_FPSW hw/intc/rx_icu.c:174:18: note: each undeclared identifier is reported only once for each function it appears in hw/intc/rx_icu.c:181:10: error: ‘A_IR’ undeclared (first use in this function); did you mean ‘DIR’? case A_IR ... A_IR + 0xff: ^~~~ DIR ... hw/intc/rx_icu.c:199:44: error: ‘R_IRQCR_IRQMD_SHIFT’ undeclared (first use in this function); did you mean ‘R_IRQCR_IRQMD_MASK’? return icu->src[64 + reg].sense << R_IRQCR_IRQMD_SHIFT; ^~~~~~~~~~~~~~~~~~~ R_IRQCR_IRQMD_MASK This is because the commit "hw/registerfields.h" is added after. I see this series seems ordered correctly, so I'll keep testing. > > 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-qemu.dtb (DeviceTree) > > starting > $ qemu-system-rx -kernel zImage -dtb rx-qemu.dtb -append "earlycon" > > Changes for v10. > - Fix build error for 32bit system. > - Use "object_initialize_child" in create device instance. > - Remove unused headers. > - Avoid some magic number. > - Clean up Kconfig symbols. > > Yoshinori Sato (12): > 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 > hw/registerfields.h: Add 8bit and 16bit register macros. > 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 | 105 ++ > hw/rx/rx62n.c | 238 ++++ > 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/hw/char/renesas_sci.h | 45 + > include/hw/intc/rx_icu.h | 57 + > include/hw/registerfields.h | 32 +- > include/hw/rx/rx.h | 7 + > include/hw/rx/rx62n.h | 94 ++ > include/hw/timer/renesas_cmt.h | 38 + > include/hw/timer/renesas_tmr.h | 50 + > include/qemu/bitops.h | 38 + > include/sysemu/arch_init.h | 1 + > target/rx/Makefile.objs | 12 + > target/rx/cpu.c | 222 ++++ > target/rx/cpu.h | 227 ++++ > target/rx/disas.c | 1480 ++++++++++++++++++++++++ > 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 | 481 ++++++++ > target/rx/translate.c | 2432 ++++++++++++++++++++++++++++++++++++++++ > 40 files changed, 8025 insertions(+), 1 deletion(-) > 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.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 >
Oh. Sorry. I fount one other problem. I will fix it and re-send later. 2019年5月14日(火) 2:26 Philippe Mathieu-Daudé <philmd@redhat.com>: > > Hi Yoshinori, > > On 5/13/19 7:25 AM, Yoshinori Sato wrote: > > Hello. > > This patch series is added Renesas RX target emulation. > > > > Fixed build errors and cleaned up the code. > > > > My git repository is bellow. > > git://git.pf.osdn.net/gitroot/y/ys/ysato/qemu.git tags/rx-20190513 > > This tag isn't exactly the same as the series you posted, some patches > are ordered differently, leading to this failure at commit fc564da941a > (Add rx-softmmu) of your tag: > > ((fc564da941a...))$ make -C rx-softmmu hw/intc/rx_icu.o > CC hw/intc/rx_icu.o > hw/intc/rx_icu.c:35:9: error: expected ‘)’ before numeric constant > REG8(IR, 0) > ^~ > ) > ... > hw/intc/rx_icu.c: In function ‘icu_read’: > hw/intc/rx_icu.c:174:18: error: ‘A_FIR’ undeclared (first use in this > function); did you mean ‘A_FPSW’? > if ((addr != A_FIR && size != 1) || > ^~~~~ > A_FPSW > hw/intc/rx_icu.c:174:18: note: each undeclared identifier is reported > only once for each function it appears in > hw/intc/rx_icu.c:181:10: error: ‘A_IR’ undeclared (first use in this > function); did you mean ‘DIR’? > case A_IR ... A_IR + 0xff: > ^~~~ > DIR > ... > hw/intc/rx_icu.c:199:44: error: ‘R_IRQCR_IRQMD_SHIFT’ undeclared (first > use in this function); did you mean ‘R_IRQCR_IRQMD_MASK’? > return icu->src[64 + reg].sense << R_IRQCR_IRQMD_SHIFT; > ^~~~~~~~~~~~~~~~~~~ > R_IRQCR_IRQMD_MASK > > This is because the commit "hw/registerfields.h" is added after. > I see this series seems ordered correctly, so I'll keep testing. > > > > > 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-qemu.dtb (DeviceTree) > > > > starting > > $ qemu-system-rx -kernel zImage -dtb rx-qemu.dtb -append "earlycon" > > > > Changes for v10. > > - Fix build error for 32bit system. > > - Use "object_initialize_child" in create device instance. > > - Remove unused headers. > > - Avoid some magic number. > > - Clean up Kconfig symbols. > > > > Yoshinori Sato (12): > > 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 > > hw/registerfields.h: Add 8bit and 16bit register macros. > > 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 | 105 ++ > > hw/rx/rx62n.c | 238 ++++ > > 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/hw/char/renesas_sci.h | 45 + > > include/hw/intc/rx_icu.h | 57 + > > include/hw/registerfields.h | 32 +- > > include/hw/rx/rx.h | 7 + > > include/hw/rx/rx62n.h | 94 ++ > > include/hw/timer/renesas_cmt.h | 38 + > > include/hw/timer/renesas_tmr.h | 50 + > > include/qemu/bitops.h | 38 + > > include/sysemu/arch_init.h | 1 + > > target/rx/Makefile.objs | 12 + > > target/rx/cpu.c | 222 ++++ > > target/rx/cpu.h | 227 ++++ > > target/rx/disas.c | 1480 ++++++++++++++++++++++++ > > 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 | 481 ++++++++ > > target/rx/translate.c | 2432 ++++++++++++++++++++++++++++++++++++++++ > > 40 files changed, 8025 insertions(+), 1 deletion(-) > > 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.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 > >