[PATCH] Allwinner: fix booting on a number of devices

Andre Przywara andre.przywara at arm.com
Wed Sep 24 11:56:27 CEST 2025


On Fri, 29 Aug 2025 16:13:51 +0100
Peter Robinson <pbrobinson at gmail.com> wrote:

Hi,

> > > Revert "sunxi: enable MMU_PGPROT proper page table protection"
> > >
> > > This reverts commit 16cfccda4dbf0b53473b8212897f5c63bfbeb6e1.
> > >
> > > This causes the follow issue on the A64 boards I have including
> > > Pine64+, Pine64-LTS and the Pinephone. Revert until the issue
> > > can be properly investigated.
> > >
> > > CPU:   Allwinner A64 (SUN50I)
> > > Model: Pine64+
> > > DRAM:  2 GiB
> > > Insufficient RAM for page table: 0x5000 > 0x4000. Please increase the size in get_page_table_size()  
> >
> > Mmh, how did you get this? I just ran mainline on a Pine64-LTS, and
> > didn't see any issues. Are you running on some specific setup? I am on
> > GCC 11.2.0, TF-A is some v2.12.0-724-gf745e004a, and that's with
> > pine64-lts_defconfig.  
> 
> Fedora 42/43, gcc 15.2, binutils 2.44, TF-A 2.13.
> 
> I've seen it across Pine64+, Pine64-LTS and Pinephone.
> 
> No special setup and I reproduced in on the vanilla upstream checkout
> from a couple of days ago when I had the time to do the bisect.

So I tried this with some gcc 15.2 from kernel.org, binutils is at 2.45
there. That worked just fine for me. So can you send me the generated ELF
files (u-boot and spl/u-boot-spl), from some upstream commit that breaks
for you? And also the final u-boot-sunxi-with-spl.bin? Either for the
Pine64+ or LTS. Could be privately, no need to spam the list. I would then
try to build something as close as possible to that, and compare the ELF
files to mine, to spot any differences.

Cheers,
Andre

> > > resetting ...
> > > System reset not supported on this platform
> > >
> > > Signed-off-by: Peter Robinson <pbrobinson at gmail.com>
> > > ---
> > >  arch/arm/Kconfig | 1 -
> > >  1 file changed, 1 deletion(-)
> > >
> > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> > > index 40368abc297..b8be270e4d7 100644
> > > --- a/arch/arm/Kconfig
> > > +++ b/arch/arm/Kconfig
> > > @@ -1207,7 +1207,6 @@ config ARCH_SUNXI
> > >       select DM_SPI_FLASH if SPI && MTD
> > >       select DM_KEYBOARD
> > >       select DM_SERIAL
> > > -     select MMU_PGPROT if ARM64  
> >
> > Regardless that's quite a sledgehammer. If that's a real issue, we
> > could surely provide our own get_page_table_size() implementation which
> > is more generous?  
> 
> You commit that reverts says "This might trigger runtime exceptions in
> misbehaving drivers, which should then be fixed." which shows that it
> might cause a problem, and I agree that any drivers should be fixed,
> but the above output tells me absolutely nothing about even where to
> begin to look so to use your sledgehammer analogy, if I knew whether I
> needed a ball-peen hammer or a claw hammer I could but I am basically
> blind and with my testing the sledge hammer solves the problem.
> 
> Peter



More information about the U-Boot mailing list