svn commit: r293775 - head/sys/boot/uboot/lib

Steven Hartland steven.hartland at multiplay.co.uk
Tue Jan 12 22:49:13 UTC 2016


I think this breaks arm arches:
/usr/home/smh/freebsd/base/head1/sys/boot/uboot/lib/copy.c:103:24: 
error: use of undeclared identifier 'uintfptr_t'
                 subldr = rounddown2((uintfptr_t)_start, KERN_ALIGN);
                                      ^
/usr/home/smh/freebsd/base/head1/sys/boot/uboot/lib/../../../sys/param.h:295:28: 
note: expanded from macro 'rounddown2'
#define rounddown2(x, y) ((x)&(~((y)-1)))          /* if y is power of 
two */

On 12/01/2016 16:31, Ian Lepore wrote:
> Author: ian
> Date: Tue Jan 12 16:31:07 2016
> New Revision: 293775
> URL: https://svnweb.freebsd.org/changeset/base/293775
>
> Log:
>    Cast using uintfptr_t and eliminate the cast to uint64_t which is uneeded
>    because rounding down cannot increase the number of bits needed to express
>    the result.
>    
>    I had no idea there was such a thing as uintfptr_t.
>    
>    Requested by: bde
>
> Modified:
>    head/sys/boot/uboot/lib/copy.c
>
> Modified: head/sys/boot/uboot/lib/copy.c
> ==============================================================================
> --- head/sys/boot/uboot/lib/copy.c	Tue Jan 12 16:21:34 2016	(r293774)
> +++ head/sys/boot/uboot/lib/copy.c	Tue Jan 12 16:31:07 2016	(r293775)
> @@ -100,7 +100,7 @@ uboot_loadaddr(u_int type, void *data, u
>   
>   		biggest_block = 0;
>   		biggest_size = 0;
> -		subldr = rounddown2((uint64_t)(uintptr_t)_start, KERN_ALIGN);
> +		subldr = rounddown2((uintfptr_t)_start, KERN_ALIGN);
>   		eubldr = roundup2((uint64_t)uboot_heap_end, KERN_ALIGN);
>   		for (i = 0; i < si->mr_no; i++) {
>   			if (si->mr[i].flags != MR_ATTR_DRAM)
>



More information about the svn-src-all mailing list