Hi Jeroen, > Hello Tom, > > On vr, 2014-05-16 at 17:15 -0400, Tom Rini wrote: >> On Fri, May 16, 2014 at 10:28:25PM +0200, Wolfgang Denk wrote: >>> Dear Darwin, >>> >>> In message <53763b78.6030...@broadcom.com> you wrote: >>>> >>>> 3. Fixed offset case: >>>> CONFIG_SYS_TEXT_BASE = 0x88000020 >>> >>> You completely fail to respond to my repeated statement that a >>> CONFIG_SYS_TEXT_BASE like this is bogus. >> >> This. What the heck is going on? CONFIG_SYS_TEXT_BASE is where the >> text section ends up, and the rest of the binary that follows, until we >> relocate. If we're being loaded by something else, it needs to be >> placing us at the right spot. If there's some header on top of the >> image to be considered by the loader, adjust where THAT loads us. If we >> cannot, then you must change CONFIG_SYS_TEXT_BASE around. Pad things >> up a bit for proper alignment. It seems where somewhere around "Doctor, >> it hurts when I hit myself with a hammer!" and can't stop hammering our >> poor finger. > > > Not really I guess, I read it as "Doctor, it hurts when I hit myself > with a hammer!" But morphine prevents it to hurt, so everybody should > use morphine. > > But a bit more serious, as far as understood it u-boot is loaded to the > CONFIG_SYS_TEXT_BASE being set, but not aligned to the requirements of > adrp (which assumes 4k). Did someone find a decent description of adrp > and how it should be relocated? Is adrp always required or an > optimization? We can not make gcc-aarch64 do not use adrp instruction when constructing address of label. So, I think the 4kb alignment would be a requirement or restriction. Gcc did not declare it explicitly due to in normal world memory are allocated with page aligned. If u-boot for aarch64 want to be compiled at address not 4kb aligned the relocated address should also be shifted with the same offset.
David _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot