Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Jan 2016 00:41:41 +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:  <56959D45.7070204@multiplay.co.uk>
In-Reply-To: <1452644710.46848.31.camel@freebsd.org>
References:  <201601121631.u0CGV7v6074494@repo.freebsd.org> <569582F6.4060108@multiplay.co.uk> <1452644710.46848.31.camel@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Was this meant to be a full revert as you now have:

subldr = rounddown2((uintptr_t)_start, KERN_ALIGN);

vs the original:

subldr = rounddown2((uint64_t)(uintptr_t)_start, KERN_ALIGN);

i.e. missing the final conversion to uint64_t?



On 13/01/2016 00:25, Ian Lepore wrote:
> On Tue, 2016-01-12 at 22:49 +0000, Steven Hartland wrote:
>> 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/para
>> m.h:295:28:
>> note: expanded from macro 'rounddown2'
>> #define rounddown2(x, y) ((x)&(~((y)-1)))          /* if y is power
>> of
>> two */
>>
> Ooops, sorry.  Should be fixed now.
>
> -- Ian
>
>> 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?56959D45.7070204>