> Date: Sun, 22 Jan 2023 20:47:03 +0900 > From: SASANO Takayoshi <u...@mx5.nisiq.net> > > Hi, > > Two issues. > > 1. I am trying to build ATF v2.8 with modified ports' Makefile. > > Only A64's ATF fails to build with follwing errors: > > aarch64-none-elf-ld.bfd: address 0x500dd of /usr/ports/pobj/arm-trusted-fir > mware-2.8.0/arm-trusted-firmware-2.8.0/build/sun50i_a64/debug/bl31/bl31.elf > section `.data' is not within region `RAM' > aarch64-none-elf-ld.bfd: /usr/ports/pobj/arm-trusted-firmware-2.8.0/arm-tru > sted-firmware-2.8.0/build/sun50i_a64/debug/bl31/bl31.elf section `.rela.dyn > ' will not fit in region `RAM' > aarch64-none-elf-ld.bfd: address 0x500dd of /usr/ports/pobj/arm-trusted-fir > mware-2.8.0/arm-trusted-firmware-2.8.0/build/sun50i_a64/debug/bl31/bl31.elf > section `.data' is not within region `RAM' > aarch64-none-elf-ld.bfd: BL31 image has exceeded its limit. > aarch64-none-elf-ld.bfd: region `RAM' overflowed by 224 bytes > > I found workaround for something errata wastes RAM area. > /usr/ports/pobj/arm-trusted-firmware-2.8.0/arm-trusted-firmware-2.8.0/build > /sun50i_a64/debug/bl31/bl31.map says that: > > .text.psci_system_off > 0x0000000000049fc4 0x5c /usr/ports/pobj/arm-trusted-f > irmware-2.8.0/arm-trusted-firmware-2.8.0/build/sun50i_a64/debug/bl31/psci_s > ystem_off.o > 0x0000000000049fc4 psci_system_off > .text.psci_system_off.stub > 0x000000000004a020 0x10 linker stubs > .text.psci_system_reset > 0x000000000004b020 0x5c /usr/ports/pobj/arm-trusted-f > irmware-2.8.0/arm-trusted-firmware-2.8.0/build/sun50i_a64/debug/bl31/psci_s > ystem_off.o > 0x000000000004b020 psci_system_reset > > It looks dangerous to disable workaround. Is there any good idea to > build ATF v2.8 for A64?
This might need a newer gcc version that generates slightly smaller code, or maybe a newer binutils version that packs it tighter. > 2. Allwinner H6 PMIC issue > > (repost from ports@, same as > https://marc.info/?l=openbsd-ports&m=167133709916806&w=2) > > Some Allwinner H6 based board does not work ethernet and HDMI > (currently not used) due to improper setting of AXP805 PMIC. > > To avoid this issue, Armbian uses old ATF (v2.2). Our ATF ports cannot > downgrade, so using SUNXI_SETUP_REGULATORS=0 option to disable PMIC > handling in ATF. > > This option is discussed at ATF's code review, see > https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/12676 > > To reduce side-effect of this change, it is the best that compiling both > (SUNXI_SETUP_REGULATORS=0 and 1) bl31 object separately, but looks > difficult. > > So this suggestion is fixed to 0, please tell me if there is better idea. Maybe jsg@ has a good idea how to build both? > Index: Makefile > =================================================================== > RCS file: /cvs/ports/sysutils/arm-trusted-firmware/Makefile,v > retrieving revision 1.19 > diff -u -p -r1.19 Makefile > --- Makefile 8 Aug 2022 15:27:59 -0000 1.19 > +++ Makefile 18 Dec 2022 02:15:39 -0000 > @@ -35,9 +35,15 @@ PLATFORMS=\ > > do-build: > .for P in ${PLATFORMS} > +. if "$P" == "sun50i_h6" > + cd ${WRKSRC} && \ > + ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} ${MAKE_FLAGS} \ > + V=1 PLAT=${P} DEBUG=1 SUNXI_SETUP_REGULATORS=0 bl31 > +.else > cd ${WRKSRC} && \ > ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} ${MAKE_FLAGS} \ > V=1 PLAT=${P} DEBUG=1 bl31 > +. endif > .endfor > > do-install: > > -- > SASANO Takayoshi (JG1UAA) <u...@mx5.nisiq.net> > >