]> git.ipfire.org Git - thirdparty/u-boot.git/commit
Merge branch '2023-11-10-improve-semihosting-armv6' into next
authorTom Rini <trini@konsulko.com>
Fri, 10 Nov 2023 16:55:28 +0000 (11:55 -0500)
committerTom Rini <trini@konsulko.com>
Fri, 10 Nov 2023 17:52:33 +0000 (12:52 -0500)
commit3b6db6901ff5babbb9d21f0fca750996e29d85e0
tree83379c53e7d1821b8351db5dec24f1835f11c526
parentb630f8b3aefc2d11cdc73314743a6fb16deaf4c5
parent47cfdb2192b1f8cb5061bde53fcce562afaeadf2
Merge branch '2023-11-10-improve-semihosting-armv6' into next

To quote the author:
This series has a few fixes for semihosting on ARMv6 and older CPUs. The
first two patches address problems regarding the stack pointer and link
register. U-Boot runs in supervisor mode, so taking a software interrupt
will clobber sp/lr. I think we really should run in system mode, since
it has separate sp/lr registers. To quote ARM DDI 0100I:

> The remaining mode is System mode, which is not entered by any
> exception and has exactly the same registers available as User mode.
> However, it is a privileged mode and is therefore not subject to the
> User mode restrictions. It is intended for use by operating system
> tasks that need access to system resources, but wish to avoid using
> the additional registers associated with the exception modes. Avoiding
> such use ensures that the task state is not corrupted by the
> occurrence of any exception.

However, the processor mode has been supervisor for such a long time
(since relocation got introduced) that I would rather not touch it.