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>