Subject: [bug#64142] Update arm-trusted-firmware to 2.9

From: Vagrant Cascadian <[email-masked]>
Date: Sun, 18 Jun 2023 00:47:02 -0700

On 2023-06-18, Efraim Flashner wrote:
> On Sat, Jun 17, 2023 at 08:47:49PM -0700, Vagrant Cascadian wrote:
>> The attached patch updates arm-trusted-firmware to 2.9.
>> 
>> I was able to rebuild all the dependent u-boot-* packages!

Notably, I forgot to mention that I have not boot tested any of them
yet...

>> Unfortunately, arm-trusted-firmware-imx8mq no longer builds, ending with
>> the error:
>> 
>>   aarch64-linux-gnu-ld.bfd: /tmp/guix-build-arm-trusted-firmware-imx8mq-2.9.drv-0/source/build/imx8mq/release/bl31/bl31.elf section `.xlat_table' will not fit in region `RAM'
>>   aarch64-linux-gnu-ld.bfd: BL31 image has exceeded its limit.
>>   aarch64-linux-gnu-ld.bfd: region `RAM' overflowed by 20480 bytes
>> 
>> Upstream has essentially abandoned this target due to tight size
>> contraints for imx8mq, though there is a maintained vendor fork based
>> off of some older version, so either we need to freeze this at 2.8 or
>> use the vendor fork or maybe drop it entirely. I do not believe
>> arm-trusted-firmware-imx8mq is used by any other guix packages...
>> 
>> ... thoughts?
>
> I tried adjusting the flags to -Oz (not recognized) or -Os and it still
> didn't fit. What device(s) use the imx8mq? Is that the chip in the
> Librem 5?

Librem 5 and MNT Reform are probably the most interesting platforms I am
aware of. 

> I've added some people who might be interested in the chip. I suppose at
> first glance I'd prefer using the vendor fork (assuming there's some
> form of ongoing maintenance) over keeping the older version.

Although imx8mq (at least the platforms I am aware of) all still require
blobs to initialize the DDR, so will likely never fully land in guix
proper (at least at the boot firmware level)... which is why I maybe
learn towards dropping it entirely.

live well,
  vagrant