summaryrefslogtreecommitdiffstats
path: root/tests/test-qemu-opts.c
diff options
context:
space:
mode:
authorPeter Maydell2017-10-09 15:48:34 +0200
committerPeter Maydell2017-10-12 14:23:14 +0200
commitd02a8698d7ae2bfed3b11fe5b064cb0aa406863b (patch)
tree8dd870546ced48a474a5d81424da1a01e6e62146 /tests/test-qemu-opts.c
parenttarget/arm: Implement BLXNS (diff)
downloadqemu-d02a8698d7ae2bfed3b11fe5b064cb0aa406863b.tar.gz
qemu-d02a8698d7ae2bfed3b11fe5b064cb0aa406863b.tar.xz
qemu-d02a8698d7ae2bfed3b11fe5b064cb0aa406863b.zip
target/arm: Implement secure function return
Secure function return happens when a non-secure function has been called using BLXNS and so has a particular magic LR value (either 0xfefffffe or 0xfeffffff). The function return via BX behaves specially when the new PC value is this magic value, in the same way that exception returns are handled. Adjust our BX excret guards so that they recognize the function return magic number as well, and perform the function-return unstacking in do_v7m_exception_exit(). Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Acked-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 1507556919-24992-5-git-send-email-peter.maydell@linaro.org
Diffstat (limited to 'tests/test-qemu-opts.c')
0 files changed, 0 insertions, 0 deletions