On Fri, 29 Aug 2025 16:13:51 +0100 Peter Robinson <[email protected]> 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 <[email protected]> > > > --- > > > 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

