Skip to content

Commit 59754f85 introduces regression with U-Boot on Cortex-A9 platforms

Host environment

  • Operating system: Ubuntu 2022.04
  • OS/kernel version: 6.8.0-57-generic #59-Ubuntu
  • Architecture: x86_64
  • QEMU flavor: qemu-system-arm
  • QEMU version: v10.0.0-365-g73d29ea241
  • QEMU command line:
    ./qemu-system-arm -nographic -m 1G -audio none -net user,tftp=/tmp/vexpress_ca9x4 -net nic -M vexpress-a9 -kernel /tmp/vexpress_ca9x4/u-boot

Emulated/Virtualized environment

  • Operating system: U-Boot
  • OS/kernel version: v2025.04 (or top of tree)
  • Architecture: arm

Description of problem

In U-Boot CI, we started to update from v8.2.0 to v9.2.3 and found that the vexpress_ca9x4 platform was now failing one of the CI tests. I have reconfirmed the problem on top of tree QEMU, and bisected the failure to commit 59754f85("target/arm: Do memory type alignment check when translation disabled "). I have also re-verified the test is fine on a physical platform with a Cortex-A9 that is as follows (per the RM):

Table 12-2. Cortex-A9 revision
Core MP004-BU-50000-r2p10-0rel0
NEON AT397-BU-50001- r2p0-00rel0
PL310 PL310-BU-00000-r3p2-50rel0

Steps to reproduce

  1. git clone https://source.denx.de/u-boot/u-boot.git; cd u-boot
  2. make O=/tmp/vexpress_ca9x4 CROSS_COMPILE=arm-linux-gnueabi- vexpress_ca9x4_config
  3. make O=/tmp/vexpress_ca9x4 CROSS_COMPILE=arm-linux-gnueabi- -sj$(nproc)
  4. qemu-system-arm -nographic -m 1G -audio none -net user,tftp=/tmp/vexpress_ca9x4 -net nic -M vexpress-a9 -kernel /tmp/vexpress_ca9x4/u-boot
  5. Stop autoboot with any key
  6. setenv autoload no
  7. dhcp
  8. tftpboot 60200000 lib/efi_loader/helloworld.efi

Additional information

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information