qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] arm: soc-dma: use hwaddr instead of target_ulon


From: Peter Maydell
Subject: Re: [Qemu-devel] [PATCH] arm: soc-dma: use hwaddr instead of target_ulong in printf
Date: Fri, 4 Dec 2015 13:09:21 +0000

On 4 December 2015 at 12:36, Paolo Bonzini <address@hidden> wrote:
>
>
> On 04/12/2015 13:33, Peter Maydell wrote:
>> On 4 December 2015 at 12:28, Paolo Bonzini <address@hidden> wrote:
>>> This is a first baby step towards removing widespread inclusion of
>>> cpu.h and compiling more devices once (so that arm, aarch64 and
>>> in the future target-multi can share the object files).
>>>
>>> Signed-off-by: Paolo Bonzini <address@hidden>
>>> ---
>>>  hw/dma/soc_dma.c | 37 ++++++++++++++++---------------------
>>>  1 file changed, 16 insertions(+), 21 deletions(-)
>>>
>>> diff --git a/hw/dma/soc_dma.c b/hw/dma/soc_dma.c
>>> index c06aabb..ac395c5 100644
>>> --- a/hw/dma/soc_dma.c
>>> +++ b/hw/dma/soc_dma.c
>>> @@ -269,11 +269,10 @@ void soc_dma_port_add_fifo(struct soc_dma_s *soc, 
>>> hwaddr virt_base,
>>>          if (entry->type == soc_dma_port_mem) {
>>>              if (entry->addr <= virt_base &&
>>>                              entry->addr + entry->u.mem.size > virt_base) {
>>> -                fprintf(stderr, "%s: FIFO at " TARGET_FMT_lx
>>> -                                " collides with RAM region at " 
>>> TARGET_FMT_lx
>>> -                                "-" TARGET_FMT_lx "\n", __FUNCTION__,
>>> -                                (target_ulong) virt_base,
>>> -                                (target_ulong) entry->addr, (target_ulong)
>>> +                fprintf(stderr, "%s: FIFO at %"PRIx64
>>> +                                " collides with RAM region at %"PRIx64
>>> +                                "-%"PRIx64 "\n", __FUNCTION__,
>>> +                                virt_base, entry->addr,
>>>                                  (entry->addr + entry->u.mem.size));
>>
>> Is using the HWADDR_PRI* macros for printing hwaddrs deprecated now?
>
> It's the first time I hear about them. :)  There are still 130-odd
> usages of HWADDR_PRIx and friends, so at least it's an incomplete
> transition.  So I can use them if the maintainer tells me to.

Well, we needed HWADDR_PRI* when hwaddr wasn't unconditionally 64-bits
(that changed back in 2012 with commit 4be403c8158e1b6, back when it
was still called target_phys_addr_t and the macros were TARGET_PRI*).
So back in 2012 we'd have noticed uses of PRIx64 to print hwaddrs
because it would have meant a compile failure (at least in some bits
of code). But these days we probably wouldn't catch uses in code
review and they wouldn't be compile time failures.

I don't think we've ever said "we should transition away from HWADDR_*",
but whether we should is an interesting question, which is why I asked.
Does retaining the format macros to go with the typedef give us
useful flexibility, or is it just confusing?

(Also TARGET_FMT_plx, which is even more heavily used and now
rather out of step with the type name.)

thanks
-- PMM



reply via email to

[Prev in Thread] Current Thread [Next in Thread]