On Wed, Apr 30, 2025 at 07:27:50PM +0530, Anshul Dalal wrote:

> As discussed here[1], the go command causes undefined behavior when used
> for running custom OSes since the icache might hold outdated data. OSes
> usually also expect the MMU to be disabled upon execution.
> 
> Therefore this patch adds a call to cleanup_before_linux before we jump
> to the loaded program/os which disables both the caches and the MMU.
> This makes the go command's behavior consistent with riscv platforms.
> 
> NOTE: This might cause regressions with users expecting a configured MMU
> but I'm unsure if it's a supported use case for the go command anyway.
> 
> [1]: https://lore.kernel.org/u-boot/d9dxl95mtq8i.3euy0c6m2l...@ti.com/
> 
> Signed-off-by: Anshul Dalal <ansh...@ti.com>

This is the inverse of what needs to be done, sorry. RISC-V shouldn't be
doing this type of cleanup. I know it sounds reductive but "go means
go". We have all of the other bootX commands for "prepare the system and
boot the thing at $address".

-- 
Tom

Attachment: signature.asc
Description: PGP signature

Reply via email to