> 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>
> 
> 

Reply via email to