qemu/target/arm
Peter Maydell fb602cb726 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
2017-09-07 13:54:54 +01:00
..
arch_dump.c
arm_ldst.h Fix Thumb-1 BE32 execution and disassembly. 2017-02-07 18:29:59 +00:00
arm-powerctl.c target-arm/powerctl: defer cpu reset work to CPU context 2017-02-24 10:32:46 +00:00
arm-powerctl.h target-arm/powerctl: defer cpu reset work to CPU context 2017-02-24 10:32:46 +00:00
arm-semi.c
cpu64.c target-arm: Enable EL2 feature bit on A53 and A57 2017-01-20 11:15:10 +00:00
cpu-qom.h
cpu.c target/arm: Make CCR register banked for v8M 2017-09-07 13:54:54 +01:00
cpu.h target/arm: Implement BXNS, and banked stack pointers 2017-09-07 13:54:54 +01:00
crypto_helper.c
gdbstub64.c
gdbstub.c
helper-a64.c target-arm: Use clrsb helper 2017-01-10 08:47:48 -08:00
helper-a64.h target-arm: Use clrsb helper 2017-01-10 08:47:48 -08:00
helper.c target/arm: Implement BXNS, and banked stack pointers 2017-09-07 13:54:54 +01:00
helper.h target/arm: Implement BXNS, and banked stack pointers 2017-09-07 13:54:54 +01:00
internals.h target/arm: Move regime_is_secure() to target/arm/internals.h 2017-09-07 13:54:54 +01:00
iwmmxt_helper.c
kvm32.c target/arm/kvm: pmu: improve error handling 2017-09-04 15:21:54 +01:00
kvm64.c target/arm/kvm: pmu: improve error handling 2017-09-04 15:21:54 +01:00
kvm_arm.h target/arm/kvm: pmu: improve error handling 2017-09-04 15:21:54 +01:00
kvm-consts.h arm: add trailing ; after MISMATCH_CHECK 2017-02-01 03:37:18 +02:00
kvm-stub.c
kvm.c hw/arm/virt: allow pmu instantiation with userspace irqchip 2017-09-04 15:21:54 +01:00
machine.c target/arm: Implement BXNS, and banked stack pointers 2017-09-07 13:54:54 +01:00
Makefile.objs
monitor.c
neon_helper.c
op_addsub.h
op_helper.c target/arm: Allow deliver_fault() caller to specify EA bit 2017-09-04 17:13:53 +01:00
psci.c shutdown: Add source information to SHUTDOWN and RESET 2017-05-23 13:28:17 +02:00
trace-events trace-events: fix code style: print 0x before hex numbers 2017-08-01 12:13:07 +01:00
translate-a64.c target/arm: Fix aa64 ldp register writeback 2017-09-04 17:13:53 +01:00
translate.c target/arm: Implement BXNS, and banked stack pointers 2017-09-07 13:54:54 +01:00
translate.h target/arm: Implement BXNS, and banked stack pointers 2017-09-07 13:54:54 +01:00