On Tue, Mar 22, 2022 at 04:59:31PM -0400, Sean Anderson wrote: > If a debugger is not attached to U-Boot, semihosting calls will raise a > synchronous abort exception. Try to catch this and disable semihosting > so we can e.g. use another uart if one is available. In the immediate > case, we return an error, since it is not always possible to check for > semihosting beforehand (debug uart, user-initiated load command, etc.) > > We handle all possible semihosting instructions, which is probably > overkill. However, we do need to keep track of what instruction set > we're using so that we don't suppress an actual error. > > A future enhancement could try to determine semihosting capability by > inspecting the processor state. There's an example of this at [1] for > RISC-V. The equivalent for ARM would inspect the monitor modei > enable/select bits of the DSCR. However, as the article notes, an > exception handler is still helpful in order to catch disconnected > debuggers. > > [1] > https://tomverbeure.github.io/2021/12/30/Semihosting-on-RISCV.html#avoiding-hangs-when-a-debugger-is-not-connected > > Signed-off-by: Sean Anderson <sean.ander...@seco.com>
Applied to u-boot/next, thanks! -- Tom
signature.asc
Description: PGP signature