* [Qemu-devel] [PATCH] misc: don't use hwaddr as a type in trace events
@ 2018-03-06 13:24 Daniel P. Berrangé
2018-03-06 13:33 ` Peter Maydell
2018-03-06 14:14 ` Mark Cave-Ayland
0 siblings, 2 replies; 5+ messages in thread
From: Daniel P. Berrangé @ 2018-03-06 13:24 UTC (permalink / raw)
To: qemu-devel
Cc: Peter Maydell, qemu-trivial, Stefan Hajnoczi,
Daniel P. Berrangé
Use types that are defined by QEMU in trace events caused build failures
for the UST trace backend:
In file included from trace-ust-all.c:13:0:
trace-ust-all.h:11844:206: error: unknown type name ‘hwaddr’
It only knows about C built-in types, and any types that are pulled in
from includs of qemu-common.h and lttng/tracepoint.h. This does not
include the 'hwaddr' type, so replace it with a uint64_t which is what
exec/hwaddr.h defines 'hwaddr' as. This fixes the build failure
introduced by
commit 9eb8040c2d2b38e1a40bb6129b1b668fa178fcab
Author: Peter Maydell <peter.maydell@linaro.org>
Date: Fri Mar 2 10:45:39 2018 +0000
hw/misc/tz-ppc: Model TrustZone peripheral protection controller
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
For future work it might be good to have tracetool whitelist the
permitted data types that can be safely used in trace events...
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..b0cc047289 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%" HWADDR_PRIx " 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%" HWADDR_PRIx " 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"
--
2.14.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH] misc: don't use hwaddr as a type in trace events
2018-03-06 13:24 [Qemu-devel] [PATCH] misc: don't use hwaddr as a type in trace events Daniel P. Berrangé
@ 2018-03-06 13:33 ` Peter Maydell
2018-03-06 13:38 ` Daniel P. Berrangé
2018-03-06 14:14 ` Mark Cave-Ayland
1 sibling, 1 reply; 5+ messages in thread
From: Peter Maydell @ 2018-03-06 13:33 UTC (permalink / raw)
To: Daniel P. Berrangé; +Cc: QEMU Developers, QEMU Trivial, Stefan Hajnoczi
On 6 March 2018 at 13:24, Daniel P. Berrangé <berrange@redhat.com> wrote:
> Use types that are defined by QEMU in trace events caused build failures
> for the UST trace backend:
>
> In file included from trace-ust-all.c:13:0:
> trace-ust-all.h:11844:206: error: unknown type name ‘hwaddr’
>
> It only knows about C built-in types, and any types that are pulled in
> from includs of qemu-common.h and lttng/tracepoint.h. This does not
> include the 'hwaddr' type, so replace it with a uint64_t which is what
> exec/hwaddr.h defines 'hwaddr' as. This fixes the build failure
> introduced by
>
> commit 9eb8040c2d2b38e1a40bb6129b1b668fa178fcab
> Author: Peter Maydell <peter.maydell@linaro.org>
> Date: Fri Mar 2 10:45:39 2018 +0000
>
> hw/misc/tz-ppc: Model TrustZone peripheral protection controller
>
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> ---
Oops.
> --- 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%" HWADDR_PRIx " 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%" HWADDR_PRIx " write (secure %d user %d) blocked"
If the type isn't "hwaddr" then HWADDR_PRIx is the wrong
format string macro -- those should change to PRIx64.
thanks
-- PMM
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH] misc: don't use hwaddr as a type in trace events
2018-03-06 13:33 ` Peter Maydell
@ 2018-03-06 13:38 ` Daniel P. Berrangé
2018-03-06 13:42 ` Peter Maydell
0 siblings, 1 reply; 5+ messages in thread
From: Daniel P. Berrangé @ 2018-03-06 13:38 UTC (permalink / raw)
To: Peter Maydell; +Cc: QEMU Developers, QEMU Trivial, Stefan Hajnoczi
On Tue, Mar 06, 2018 at 01:33:42PM +0000, Peter Maydell wrote:
> On 6 March 2018 at 13:24, Daniel P. Berrangé <berrange@redhat.com> wrote:
> > Use types that are defined by QEMU in trace events caused build failures
> > for the UST trace backend:
> >
> > In file included from trace-ust-all.c:13:0:
> > trace-ust-all.h:11844:206: error: unknown type name ‘hwaddr’
> >
> > It only knows about C built-in types, and any types that are pulled in
> > from includs of qemu-common.h and lttng/tracepoint.h. This does not
> > include the 'hwaddr' type, so replace it with a uint64_t which is what
> > exec/hwaddr.h defines 'hwaddr' as. This fixes the build failure
> > introduced by
> >
> > commit 9eb8040c2d2b38e1a40bb6129b1b668fa178fcab
> > Author: Peter Maydell <peter.maydell@linaro.org>
> > Date: Fri Mar 2 10:45:39 2018 +0000
> >
> > hw/misc/tz-ppc: Model TrustZone peripheral protection controller
> >
> > Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> > ---
>
> Oops.
>
> > --- 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%" HWADDR_PRIx " 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%" HWADDR_PRIx " write (secure %d user %d) blocked"
>
>
> If the type isn't "hwaddr" then HWADDR_PRIx is the wrong
> format string macro -- those should change to PRIx64.
Eeek, that HWADDR_PRIx macro is used throughout this file, sometimes
even with uint32_t as the arg !
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH] misc: don't use hwaddr as a type in trace events
2018-03-06 13:38 ` Daniel P. Berrangé
@ 2018-03-06 13:42 ` Peter Maydell
0 siblings, 0 replies; 5+ messages in thread
From: Peter Maydell @ 2018-03-06 13:42 UTC (permalink / raw)
To: Daniel P. Berrangé; +Cc: QEMU Developers, QEMU Trivial, Stefan Hajnoczi
On 6 March 2018 at 13:38, Daniel P. Berrangé <berrange@redhat.com> wrote:
> On Tue, Mar 06, 2018 at 01:33:42PM +0000, Peter Maydell wrote:
>> If the type isn't "hwaddr" then HWADDR_PRIx is the wrong
>> format string macro -- those should change to PRIx64.
>
> Eeek, that HWADDR_PRIx macro is used throughout this file, sometimes
> even with uint32_t as the arg !
Mmm, it's used where PRIx64 should be, but I think only for uint64_t
arguments; I can't see a uint32_t one. hw/ide/trace-events also has
a couple of HWADDR_PRIx uses.
thanks
-- PMM
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH] misc: don't use hwaddr as a type in trace events
2018-03-06 13:24 [Qemu-devel] [PATCH] misc: don't use hwaddr as a type in trace events Daniel P. Berrangé
2018-03-06 13:33 ` Peter Maydell
@ 2018-03-06 14:14 ` Mark Cave-Ayland
1 sibling, 0 replies; 5+ messages in thread
From: Mark Cave-Ayland @ 2018-03-06 14:14 UTC (permalink / raw)
To: Daniel P. Berrangé, qemu-devel
Cc: qemu-trivial, Peter Maydell, Stefan Hajnoczi
On 06/03/18 13:24, Daniel P. Berrangé wrote:
> Use types that are defined by QEMU in trace events caused build failures
> for the UST trace backend:
>
> In file included from trace-ust-all.c:13:0:
> trace-ust-all.h:11844:206: error: unknown type name ‘hwaddr’
>
> It only knows about C built-in types, and any types that are pulled in
> from includs of qemu-common.h and lttng/tracepoint.h. This does not
> include the 'hwaddr' type, so replace it with a uint64_t which is what
> exec/hwaddr.h defines 'hwaddr' as. This fixes the build failure
> introduced by
>
> commit 9eb8040c2d2b38e1a40bb6129b1b668fa178fcab
> Author: Peter Maydell <peter.maydell@linaro.org>
> Date: Fri Mar 2 10:45:39 2018 +0000
>
> hw/misc/tz-ppc: Model TrustZone peripheral protection controller
>
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> ---
>
> For future work it might be good to have tracetool whitelist the
> permitted data types that can be safely used in trace events...
>
> 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..b0cc047289 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%" HWADDR_PRIx " 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%" HWADDR_PRIx " 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"
>
Hi Daniel,
IIRC last time I made this mistake I also had to change HWADDR_PRIx to
PRIx64 in the format strings because one of my pull requests failed when
trying to use HWADDR_PRIx in one of the non-QEMU tracing tools.
ATB,
Mark.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2018-03-06 14:15 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-03-06 13:24 [Qemu-devel] [PATCH] misc: don't use hwaddr as a type in trace events Daniel P. Berrangé
2018-03-06 13:33 ` Peter Maydell
2018-03-06 13:38 ` Daniel P. Berrangé
2018-03-06 13:42 ` Peter Maydell
2018-03-06 14:14 ` Mark Cave-Ayland
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).