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. ~Bryan