diff mbox series

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

Message ID 87wn01a0t6.fsf@wireframe
State New
Headers show
Series [bug#64142] Update arm-trusted-firmware to 2.9 | expand

Commit Message

Vagrant Cascadian June 18, 2023, 3:47 a.m. UTC
The attached patch updates arm-trusted-firmware to 2.9.

I was able to rebuild all the dependent u-boot-* packages!

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?


live well,
  vagrant

Comments

Efraim Flashner June 18, 2023, 6:59 a.m. UTC | #1
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!
> 
> 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?

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.
Vagrant Cascadian June 18, 2023, 7:47 a.m. UTC | #2
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
diff mbox series

Patch

From 3e41d1cf2753757b45b81d75cd406c6fe0c5232b Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagrant@debian.org>
Date: Sat, 17 Jun 2023 20:14:17 -0700
Subject: [PATCH] gnu: arm-trusted-firmware: Update to 2.9.

* gnu/packages/firmware.scm (make-arm-trusted-firmware): Update to 2.9.
---
 gnu/packages/firmware.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index c7ca81c35a..04c9c7b580 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -1025,7 +1025,7 @@  (define* (make-arm-trusted-firmware platform
                                        (gnu-triplet->nix-system triplet))))))
     (package
       (name (string-append "arm-trusted-firmware-" platform))
-      (version "2.8")
+      (version "2.9")
       (source
        (origin
          (method git-fetch)
@@ -1036,7 +1036,7 @@  (define* (make-arm-trusted-firmware platform
          (file-name (git-file-name "arm-trusted-firmware" version))
          (sha256
           (base32
-           "0grq3fgxi9xhcljnhwlxjvdghyz15gaq50raw41xy4lm8rkmnzp3"))
+           "16fjbn1zck0d8b554h8lk1svqqn0zlawvrlkjxry9l71s9h4vd0p"))
          (snippet
           #~(begin
               (use-modules (guix build utils))

base-commit: 428b810ca23fa1c1c565da15c0e95273f6487384
-- 
2.39.2