]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Add a Saved Process Status Register bit for AArch32 execution mode.
authored <ed@FreeBSD.org>
Sun, 26 Nov 2017 14:56:23 +0000 (14:56 +0000)
committered <ed@FreeBSD.org>
Sun, 26 Nov 2017 14:56:23 +0000 (14:56 +0000)
commit8a2fa414aa05f4bb823f5c14b464e0222aee5ac4
tree1f785c184c5746f3d7956cc5b535c25fd2265c7a
parent887cf5c14ef6bae675401119cd05d390ca495ea2
Add a Saved Process Status Register bit for AArch32 execution mode.

The documentation on the Saved Process Status Register (SPSR) is a bit
weird; the M[4] bit is documented separately from M[3:0]. The M[4] bit
can be toggled to switch to 32-bit execution mode. This functionality is
orthogonal to M[3:0].

Change the definition of PSR_M_MASK to no longer include M[4]. Add a new
definition, PSR_AARCH32 that can be used to toggle 32-bit independently.
This bit will be used by the cloudabi32 code to force execution of
userspace code in 32-bit mode.

Reviewed by: andrew
Differential Revision: https://reviews.freebsd.org/D13148
sys/arm64/arm64/machdep.c
sys/arm64/include/armreg.h