On 4/30/2025 10:01 PM, Tom Rini wrote:
> On Wed, Apr 30, 2025 at 11:29:04AM -0500, Bryan Brattlof wrote:
>> On April 30, 2025 thus sayeth Anshul Dalal:
>>> 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.
>>>
>>
>> I know quite a few other OSes are beginning to use U-Boot (QNX, 
>> GreenHills or all the other RTOSes) each with their own requirements 
>> from the bootloader. I'm curious if we should make boot* a little more 
>> generic rather than abuse the 'go' command.

VXworks has its own:
https://docs.u-boot.org/en/stable/usage/os/vxworks.html

I suppose QNX and others should ideally have their own cmds as needed.

> 
> Well, that's what bootelf is for :)
> 

And if its not an elf but some .bin file "go" cmd should be used in
conjunction with "cache" cmd here to flush/disable cache, I guess?

If so, we should probably update the docs for this cmd appropriately so
as to avoid end users overloading like what RISC-V did?

Regards
Vignesh



Reply via email to