diff mbox series

trace: fix ARM TrustZone PPC hwaddr type

Message ID 20180306172250.3049-1-stefanha@redhat.com
State New
Headers show
Series trace: fix ARM TrustZone PPC hwaddr type | expand

Commit Message

Stefan Hajnoczi March 6, 2018, 5:22 p.m. UTC
Commit 9eb8040c2d2b ("hw/misc/tz-ppc: Model TrustZone peripheral
protection controller") added trace events with hwaddr type arguments.

This is not allowed and leads to the following compiler errors when
building with ./configure --enable-trace-backends=ust:

  trace-ust-all.h:11847:20: error: unknown type name ‘hwaddr’; did you mean ‘h_addr’?
    TP_ARGS(int, n, hwaddr, offset, bool, secure, bool, user),

Generated LTTng UST tracepoint definitions cannot include declarations
for all QEMU types and therefore docs/devel/tracing.txt requires using
only primitive or stdint.h types.

Cc: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 hw/misc/trace-events | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Philippe Mathieu-Daudé March 6, 2018, 6:40 p.m. UTC | #1
On 03/06/2018 02:22 PM, Stefan Hajnoczi wrote:
> Commit 9eb8040c2d2b ("hw/misc/tz-ppc: Model TrustZone peripheral
> protection controller") added trace events with hwaddr type arguments.
> 
> This is not allowed and leads to the following compiler errors when
> building with ./configure --enable-trace-backends=ust:
> 
>   trace-ust-all.h:11847:20: error: unknown type name ‘hwaddr’; did you mean ‘h_addr’?
>     TP_ARGS(int, n, hwaddr, offset, bool, secure, bool, user),
> 
> Generated LTTng UST tracepoint definitions cannot include declarations
> for all QEMU types and therefore docs/devel/tracing.txt requires using
> only primitive or stdint.h types.

Maybe the trace generator script can check for legal/forbidden types?

> 
> Cc: Peter Maydell <peter.maydell@linaro.org>
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

> ---
>  hw/misc/trace-events | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/hw/misc/trace-events b/hw/misc/trace-events
> index eb5ffcc0a8..562d9ed005 100644
> --- a/hw/misc/trace-events
> +++ b/hw/misc/trace-events
> @@ -92,8 +92,8 @@ tz_ppc_cfg_sec_resp(int level) "TZ PPC: cfg_sec_resp = %d"
>  tz_ppc_irq_enable(int level) "TZ PPC: int_enable = %d"
>  tz_ppc_irq_clear(int level) "TZ PPC: int_clear = %d"
>  tz_ppc_update_irq(int level) "TZ PPC: setting irq line to %d"
> -tz_ppc_read_blocked(int n, hwaddr offset, bool secure, bool user) "TZ PPC: port %d offset 0x%" HWADDR_PRIx " read (secure %d user %d) blocked"
> -tz_ppc_write_blocked(int n, hwaddr offset, bool secure, bool user) "TZ PPC: port %d offset 0x%" HWADDR_PRIx " write (secure %d user %d) blocked"
> +tz_ppc_read_blocked(int n, uint64_t offset, bool secure, bool user) "TZ PPC: port %d offset 0x%" PRIx64 " read (secure %d user %d) blocked"
> +tz_ppc_write_blocked(int n, uint64_t offset, bool secure, bool user) "TZ PPC: port %d offset 0x%" PRIx64 " write (secure %d user %d) blocked"
>  
>  # hw/misc/iotkit-secctl.c
>  iotkit_secctl_s_read(uint32_t offset, uint64_t data, unsigned size) "IoTKit SecCtl S regs read: offset 0x%x data 0x%" PRIx64 " size %u"
>
Peter Maydell March 6, 2018, 6:58 p.m. UTC | #2
On 6 March 2018 at 17:22, Stefan Hajnoczi <stefanha@redhat.com> wrote:
> Commit 9eb8040c2d2b ("hw/misc/tz-ppc: Model TrustZone peripheral
> protection controller") added trace events with hwaddr type arguments.
>
> This is not allowed and leads to the following compiler errors when
> building with ./configure --enable-trace-backends=ust:
>
>   trace-ust-all.h:11847:20: error: unknown type name ‘hwaddr’; did you mean ‘h_addr’?
>     TP_ARGS(int, n, hwaddr, offset, bool, secure, bool, user),
>
> Generated LTTng UST tracepoint definitions cannot include declarations
> for all QEMU types and therefore docs/devel/tracing.txt requires using
> only primitive or stdint.h types.
>
> Cc: Peter Maydell <peter.maydell@linaro.org>
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---

Thanks -- Dan sent a patch for this already which I've committed
to master as commit f32408f3b472a08.

-- PMM
Stefan Hajnoczi March 7, 2018, 12:34 p.m. UTC | #3
On Tue, Mar 06, 2018 at 03:40:23PM -0300, Philippe Mathieu-Daudé wrote:
> On 03/06/2018 02:22 PM, Stefan Hajnoczi wrote:
> > Commit 9eb8040c2d2b ("hw/misc/tz-ppc: Model TrustZone peripheral
> > protection controller") added trace events with hwaddr type arguments.
> > 
> > This is not allowed and leads to the following compiler errors when
> > building with ./configure --enable-trace-backends=ust:
> > 
> >   trace-ust-all.h:11847:20: error: unknown type name ‘hwaddr’; did you mean ‘h_addr’?
> >     TP_ARGS(int, n, hwaddr, offset, bool, secure, bool, user),
> > 
> > Generated LTTng UST tracepoint definitions cannot include declarations
> > for all QEMU types and therefore docs/devel/tracing.txt requires using
> > only primitive or stdint.h types.
> 
> Maybe the trace generator script can check for legal/forbidden types?

Yes, good idea.  I'll add it to my todo list.

Stefan
diff mbox series

Patch

diff --git a/hw/misc/trace-events b/hw/misc/trace-events
index eb5ffcc0a8..562d9ed005 100644
--- a/hw/misc/trace-events
+++ b/hw/misc/trace-events
@@ -92,8 +92,8 @@  tz_ppc_cfg_sec_resp(int level) "TZ PPC: cfg_sec_resp = %d"
 tz_ppc_irq_enable(int level) "TZ PPC: int_enable = %d"
 tz_ppc_irq_clear(int level) "TZ PPC: int_clear = %d"
 tz_ppc_update_irq(int level) "TZ PPC: setting irq line to %d"
-tz_ppc_read_blocked(int n, hwaddr offset, bool secure, bool user) "TZ PPC: port %d offset 0x%" HWADDR_PRIx " read (secure %d user %d) blocked"
-tz_ppc_write_blocked(int n, hwaddr offset, bool secure, bool user) "TZ PPC: port %d offset 0x%" HWADDR_PRIx " write (secure %d user %d) blocked"
+tz_ppc_read_blocked(int n, uint64_t offset, bool secure, bool user) "TZ PPC: port %d offset 0x%" PRIx64 " read (secure %d user %d) blocked"
+tz_ppc_write_blocked(int n, uint64_t offset, bool secure, bool user) "TZ PPC: port %d offset 0x%" PRIx64 " write (secure %d user %d) blocked"
 
 # hw/misc/iotkit-secctl.c
 iotkit_secctl_s_read(uint32_t offset, uint64_t data, unsigned size) "IoTKit SecCtl S regs read: offset 0x%x data 0x%" PRIx64 " size %u"