On 5/8/19 4:56 PM, Yoshinori Sato wrote: > renesas_tmr: 8bit timer modules. > renesas_cmt: 16bit compare match timer modules. > This part use many renesas's CPU. > Hardware manual. > https://www.renesas.com/us/en/doc/products/mpumcu/doc/rx_family/r01uh0033ej0140_rx62n.pdf > > Signed-off-by: Yoshinori Sato <ys...@users.sourceforge.jp> > --- > include/hw/timer/renesas_cmt.h | 33 +++ > include/hw/timer/renesas_tmr.h | 46 +++++ > hw/timer/renesas_cmt.c | 277 +++++++++++++++++++++++++ > hw/timer/renesas_tmr.c | 458 > +++++++++++++++++++++++++++++++++++++++++ > hw/timer/Kconfig | 6 + > hw/timer/Makefile.objs | 3 + > 6 files changed, 823 insertions(+) > create mode 100644 include/hw/timer/renesas_cmt.h > create mode 100644 include/hw/timer/renesas_tmr.h > create mode 100644 hw/timer/renesas_cmt.c > create mode 100644 hw/timer/renesas_tmr.c
Errors on 32bit host: CC hw/timer/renesas_tmr.o In file included from qemu/hw/timer/renesas_tmr.c:24:0: qemu/hw/timer/renesas_tmr.c: In function 'tmr_read': qemu/hw/timer/renesas_tmr.c:186:23: error: format '%lx' expects argument of type 'long unsigned int', but argument 2 has type 'hwaddr {aka long long unsigned int}' [-Werror=format=] "renesas_tmr: Invalid read size %08lx.\n", offset); ^ qemu/include/qemu/log.h:85:22: note: in definition of macro 'qemu_log_mask' qemu_log(FMT, ## __VA_ARGS__); \ ^ qemu/hw/timer/renesas_tmr.c:239:23: error: format '%lx' expects argument of type 'long unsigned int', but argument 2 has type 'hwaddr {aka long long unsigned int}' [-Werror=format=] "renesas_tmr: Register %08lx not implemented\n", ^ qemu/include/qemu/log.h:85:22: note: in definition of macro 'qemu_log_mask' qemu_log(FMT, ## __VA_ARGS__); \ ^ qemu/hw/timer/renesas_tmr.c: In function 'tmr_write': qemu/hw/timer/renesas_tmr.c:267:23: error: format '%lx' expects argument of type 'long unsigned int', but argument 2 has type 'hwaddr {aka long long unsigned int}' [-Werror=format=] "renesas_tmr: Invalid write size %08lx.\n", offset); ^ qemu/include/qemu/log.h:85:22: note: in definition of macro 'qemu_log_mask' qemu_log(FMT, ## __VA_ARGS__); \ ^ qemu/hw/timer/renesas_tmr.c:291:23: error: format '%lx' expects argument of type 'long unsigned int', but argument 2 has type 'hwaddr {aka long long unsigned int}' [-Werror=format=] "renesas_tmr: Register %08lx not implemented\n", ^ qemu/include/qemu/log.h:85:22: note: in definition of macro 'qemu_log_mask' qemu_log(FMT, ## __VA_ARGS__); \ ^ CC hw/timer/renesas_cmt.o In file included from qemu/hw/timer/renesas_cmt.c:24:0: qemu/hw/timer/renesas_cmt.c: In function 'cmt_read': qemu/hw/timer/renesas_cmt.c:127:19: error: format '%lx' expects argument of type 'long unsigned int', but argument 2 has type 'hwaddr {aka long long unsigned int}' [-Werror=format=] "renesas_cmt: Register %08lx not implemented\n", ^ qemu/include/qemu/log.h:85:22: note: in definition of macro 'qemu_log_mask' qemu_log(FMT, ## __VA_ARGS__); \ ^ qemu/hw/timer/renesas_cmt.c: In function 'cmt_write': qemu/hw/timer/renesas_cmt.c:171:27: error: format '%lx' expects argument of type 'long unsigned int', but argument 2 has type 'hwaddr {aka long long unsigned int}' [-Werror=format=] "renesas_cmt: Register %08lx not implemented\n", ^ qemu/include/qemu/log.h:85:22: note: in definition of macro 'qemu_log_mask' qemu_log(FMT, ## __VA_ARGS__); \ ^ cc1: all warnings being treated as errors