[PATCH 09/10] efi: Drop EFI_GRUB_ARM32_WORKAROUND

Simon Glass sjg at chromium.org
Wed Jan 7 20:02:31 CET 2026


On Tue, 6 Jan 2026 at 20:46, Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:
>
> Am 7. Januar 2026 01:31:26 MEZ schrieb Simon Glass <sjg at chromium.org>:
> >From: Simon Glass <sjg at chromium.org>
> >
> >This work-around dates from 2019 and grub 2.04 which is quite old. New
> >builds of grub don't have the problem and old boards presumably use an
> >older U-Boot, so don't need this.
>
> Where do you disable caches that are not managed by CP15?

I suppose it would be SoC-specific. See for example the code in this
arch/arm/mach-tegra/cache.c - I'm not sure if this is using a standard
ARM thing but I suspect it is tegra-specific:

/*
* Systems with an architectural L2 cache must not use the PL310.
* Config L2CTLR here for a data RAM latency of 3 cycles.
*/
asm("mrc p15, 1, %0, c9, c0, 2" : : "r" (reg));
reg &= ~7;
reg |= 2;
asm("mcr p15, 1, %0, c9, c0, 2" : : "r" (reg));
}

I also found this Nuvoton code that might qualify,

void set_pl310_ctrl(u32 enable)
{
struct pl310_regs *const pl310 = (struct pl310_regs *)CFG_SYS_PL310_BASE;

writel(enable, &pl310->pl310_ctrl);
}


>
> Best regards
>
> Heinrich

Regards,
Simon
[..]


More information about the U-Boot mailing list