Julius Werner has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/35409 )
Change subject: arch/arm: Allow program loading of Linux kernels ......................................................................
Patch Set 5:
Trying this on my Beaglebone Black port results in a _undefined_instruction interrupt when trying to jump to the loaded Linux kernel, even with the dcache_mmu_disable call added. This is with kernel version 5.4.
Well... can you provide a bit more information? Which instruction is it choking on? Is that still part of coreboot code or already of the kernel? Is the processor in Thumb or Arm mode when that happens? If you can provide the full exception dumb and disassembly of the relevant piece of code we might be able to help you better.
Another thing I noticed in our the depthcharge handoff code (which works) is that it does another tlb_invalidate_all() after disabling the MMU. Not really sure if that's needed, but at least it couldn't hurt...
I can try to debug further (and provide a bit more information) tomorrow, would be great to get this merged!
I mean... sounds like it's not working right now, so we should probably figure out your issues first before we merge it?