Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 Jan 2016 22:49:26 +0000
From:      Steven Hartland <steven.hartland@multiplay.co.uk>
To:        Ian Lepore <ian@FreeBSD.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r293775 - head/sys/boot/uboot/lib
Message-ID:  <569582F6.4060108@multiplay.co.uk>
In-Reply-To: <201601121631.u0CGV7v6074494@repo.freebsd.org>
References:  <201601121631.u0CGV7v6074494@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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)
>




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?569582F6.4060108>