Re: [kvm-unit-tests PATCH v2 2/4] lib/alloc: fix format warnings, add/use PRIx64

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

 



On Thu, Mar 03, 2016 at 10:28:15AM +0100, Thomas Huth wrote:
> On 02.03.2016 19:07, Andrew Jones wrote:
> > Signed-off-by: Andrew Jones <drjones@xxxxxxxxxx>
> > ---
> >  lib/alloc.c    | 13 +++++++------
> >  lib/libcflat.h | 12 ++++++++++++
> >  2 files changed, 19 insertions(+), 6 deletions(-)
> > 
> > diff --git a/lib/alloc.c b/lib/alloc.c
> > index 34f71a337d868..e345843b7fe53 100644
> > --- a/lib/alloc.c
> > +++ b/lib/alloc.c
> > @@ -28,13 +28,13 @@ void phys_alloc_show(void)
> >  	int i;
> >  
> >  	spin_lock(&lock);
> > -	printf("phys_alloc minimum alignment: 0x%llx\n", align_min);
> > +	printf("phys_alloc minimum alignment: 0x%" PRIx64 "\n", align_min);
> >  	for (i = 0; i < nr_regions; ++i)
> > -		printf("%016llx-%016llx [%s]\n",
> > +		printf("%016" PRIx64 "-%016" PRIx64 " [%s]\n",
> >  			regions[i].base,
> >  			regions[i].base + regions[i].size - 1,
> >  			"USED");
> > -	printf("%016llx-%016llx [%s]\n", base, top - 1, "FREE");
> > +	printf("%016" PRIx64 "-%016" PRIx64 " [%s]\n", base, top - 1, "FREE");
> >  	spin_unlock(&lock);
> >  }
> >  
> > @@ -76,9 +76,10 @@ static phys_addr_t phys_alloc_aligned_safe(phys_addr_t size,
> >  	size += addr - base;
> >  
> >  	if ((top_safe - base) < size) {
> > -		printf("phys_alloc: requested=0x%llx (align=0x%llx), "
> > -		       "need=0x%llx, but free=0x%llx. "
> > -		       "top=0x%llx, top_safe=0x%llx\n",
> > +		printf("phys_alloc: requested=0x%" PRIx64
> > +		       " (align=0x%" PRIx64 "), "
> > +		       "need=0x%" PRIx64 ", but free=0x%" PRIx64 ". "
> > +		       "top=0x%" PRIx64 ", top_safe=0x%" PRIx64 "\n",
> >  		       size_orig, align, size, top_safe - base,
> >  		       top, top_safe);
> >  		spin_unlock(&lock);
> 
> So as far as I can see, the related variables (align_min et al.) are of
> type phys_addr_t. And phys_addr_t is defined like this:
> 
> #ifdef PHYS32
> typedef u32 phys_addr_t;
> #else
> typedef u64 phys_addr_t;
> #endif

Oh yeah... It's tempting to just blow that away, but I guess we can keep
it, and do...

> 
> So it looks like these variables also could be 32-bit in some cases ...
> currently nobody seems to define PHYS32, so your patch should be safe
> for now, but in case somebody ever tries to compile with PHYS32 defined
> again, this will break.
> 
> Maybe it would be better to cast the variables instead of using PRIx64
> here, something like:
> 
>  printf("phys_alloc minimum alignment: 0x%llx\n", (long long)align_min);

...this. However, I think I'll combine with PRIx64, so I can use (u64)
instead of (long long).

Thanks,
drew
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux