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 <[email protected]>
> ---
> 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