Date: Sun, 22 Oct 2017 09:42:21 -0700 From: Mark Millard <markmi@dsl-only.net> To: Warner Losh <imp@bsdimp.com>, Ian Lepore <ian@freebsd.org>, Emmanuel Vadot <manu@bidouilliste.com>, freebsd-arm <freebsd-arm@freebsd.org> Subject: Re: svn commit: r324822 - head/sys/modules/dtb/allwinner [removal of sinovoip-bpi-m3.dts from sys/modules/dtb/allwinner/Makefile DTS list] Message-ID: <3923365A-21CB-46AD-9715-A2F687ED4B97@dsl-only.net> In-Reply-To: <CANCZdfoKtYgLFTCNuAaD1%2BF_aWCXhArAZwsJWmNqMYhkCcueKQ@mail.gmail.com> References: <3AD6B1F8-512C-43BB-AC76-7721454AD02F@dsl-only.net> <20171021195812.5bdb902401b8e756b6abfe40@bidouilliste.com> <C9F6BF5E-28DB-4569-B71E-EDE2A042FC78@dsl-only.net> <20171021204356.47e3cd6066144bcd07f46699@bidouilliste.com> <50728566-11C2-45EB-8367-00CAF38D4548@dsl-only.net> <B3F39A7C-339B-4072-9E41-A3F9DA1F590B@dsl-only.net> <8696CCFA-AE7D-4324-90A8-BB73402FA124@dsl-only.net> <FFF37C2C-D108-4583-8BE4-41DE9C535271@dsl-only.net> <757DA0FB-D69E-45BC-B81C-5CE0C6636E79@dsl-only.net> <1508688836.7314.6.camel@freebsd.org> <CANCZdfoKtYgLFTCNuAaD1%2BF_aWCXhArAZwsJWmNqMYhkCcueKQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
[Providing UBLDR_LOADADDR fixed the problem for BPI-M3.] On 2017-Oct-22, at 9:23 AM, Warner Losh <imp@bsdimp.com> wrote: > On Sun, Oct 22, 2017 at 10:13 AM, Ian Lepore <ian@freebsd.org> wrote: >> On Sat, 2017-10-21 at 22:52 -0700, Mark Millard wrote: >> > [I was not controlling UBLDR_LOADADDR in >> > my builds.] >> > >> >> UBLDR_LOADADDR is meaningless; it's not significant on arm systems, >> dating back to well before 11.0 was released. It used to set the fixed >> physical address at which ubldr[.bin] was linked to run, but now ubldr >> is self-relocating and can be loaded at any 2mb boundary (really 1mb >> boundary on most arm systems). For BPI-M3 ubldr is used and providing UBLDR_LOADADDR=0x42000000 fixed the problem by changing the start address actually used. Systems that ignore ubldr.bin and use ubldr do use UBLDR_LOADADDR as I understand. So, at least the BPI-M3 fits my more general understanding. (Is it the only one?) As I understand Ian's comment is correct for systems that use ubldr.bin and ignore ubldr: ubldr.bin is the self relocating one and ubldr is for ones that do not deal with that. FYI: The sysutils/u-boot-sinovoip-bpi-m3 has never been updated from its original distfiles. >> It should be noted that ubldr is obsolete as well; only ubldr.bin is >> needed. The older version with the elf headers intact was supposed to >> be kept around "for a few weeks, until crochet can be adjusted to not >> refer to it". That was like 3 years ago, but it never got removed. >> >> Hmmm, actually, since UBLDR_LOADADDR does end up stored in the elf >> headers, I guess if you're using the obsolete ubldr with headers >> intact, maybe it is influencing uboot's behavior and causing failures. That is what happens on the BPI-M3 based on its sysutils/u-boot-sinovoip-bpi-m3 . > Maybe it's time to delete it, other build systems ready or not. If the BPI-M3 is the only one with the issue and if support is dropped for the other issues with supporting it, then sure. Otherwise the BPI-M3 needs to progress to ubldr.bin use first. FYI: BPI-M3 are an armv7 (cortex-a7) context. === Mark Millard markmi at dsl-only.net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3923365A-21CB-46AD-9715-A2F687ED4B97>