xemu/target
Peter Maydell 3f0cddeee1 target/arm: Restore SPSEL to correct CONTROL register on exception return
On exception return for v8M, the SPSEL bit in the EXC_RETURN magic
value should be restored to the SPSEL bit in the CONTROL register
banked specified by the EXC_RETURN.ES bit.

Add write_v7m_control_spsel_for_secstate() which behaves like
write_v7m_control_spsel() but allows the caller to specify which
CONTROL bank to use, reimplement write_v7m_control_spsel() in
terms of it, and use it in exception return.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 1506092407-26985-6-git-send-email-peter.maydell@linaro.org
2017-10-06 16:46:48 +01:00
..
alpha target/alpha: Switch to do_transaction_failed() hook 2017-09-07 11:15:55 -07:00
arm target/arm: Restore SPSEL to correct CONTROL register on exception return 2017-10-06 16:46:48 +01:00
cris target: [tcg] Use a generic enum for DISAS_ values 2017-09-06 08:06:47 -07:00
hppa target/hppa: Convert to TranslatorOps 2017-09-07 11:23:13 -07:00
i386 migration: pre_save return int 2017-09-27 11:35:59 +01:00
lm32 target: [tcg] Use a generic enum for DISAS_ values 2017-09-06 08:06:47 -07:00
m68k target/m68k: Switch fpu_rom from make_floatx80() to make_floatx80_init() 2017-09-10 18:07:40 +02:00
microblaze target: [tcg] Use a generic enum for DISAS_ values 2017-09-06 08:06:47 -07:00
mips mips: Improve macro parenthesization 2017-09-21 13:25:41 +01:00
moxie moxie: replace cpu_moxie_init() with cpu_generic_init() 2017-09-01 11:54:25 -03:00
nios2 target: [tcg] Use a generic enum for DISAS_ values 2017-09-06 08:06:47 -07:00
openrisc target: [tcg] Use a generic enum for DISAS_ values 2017-09-06 08:06:47 -07:00
ppc Migration pull 2017-09-27 2017-09-27 22:44:51 +01:00
s390x s390x/tcg: initialize machine check queue 2017-10-06 10:53:02 +02:00
sh4 sh4: replace cpu_sh4_init() with cpu_generic_init() 2017-09-01 11:54:24 -03:00
sparc migration: pre_save return int 2017-09-27 11:35:59 +01:00
tilegx tilegx: replace cpu_tilegx_init() with cpu_generic_init() 2017-09-01 11:54:24 -03:00
tricore tricore: replace cpu_tricore_init() with cpu_generic_init() 2017-09-01 11:54:24 -03:00
unicore32 console: purge curses bits from console.h 2017-09-29 10:36:33 +02:00
xtensa target/xtensa: Use the pre-defined MEMTXATTRS_UNSPECIFIED macro 2017-09-26 09:11:22 +03:00