]> git.proxmox.com Git - mirror_qemu.git/commit - target/arm/helper.h
target/arm: Implement BXNS, and banked stack pointers
authorPeter Maydell <peter.maydell@linaro.org>
Thu, 7 Sep 2017 12:54:54 +0000 (13:54 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Thu, 7 Sep 2017 12:54:54 +0000 (13:54 +0100)
commitfb602cb726b3ebdd01ef3b1732d74baf9fee7ec9
treec703819a2a18f13e416d0800488a260fa7644788
parent61fcd69b0db268e7612b07fadc436b93def91768
target/arm: Implement BXNS, and banked stack pointers

Implement the BXNS v8M instruction, which is like BX but will do a
jump-and-switch-to-NonSecure if the branch target address has bit 0
clear.

This is the first piece of code which implements "switch to the
other security state", so the commit also includes the code to
switch the stack pointers around, which is the only complicated
part of switching security state.

BLXNS is more complicated than just "BXNS but set the link register",
so we leave it for a separate commit.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 1503414539-28762-21-git-send-email-peter.maydell@linaro.org
target/arm/cpu.h
target/arm/helper.c
target/arm/helper.h
target/arm/machine.c
target/arm/translate.c
target/arm/translate.h