target/arm/helper: don't return early for STKOF faults during stacking
commit3432c79a4e7345818d2defcf9e61a1bcb2907f9f
authorPeter Maydell <peter.maydell@linaro.org>
Mon, 29 Apr 2019 16:35:59 +0000 (29 17:35 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Mon, 29 Apr 2019 16:35:59 +0000 (29 17:35 +0100)
tree38d789bba131bec193895924427b822e3fb5dc9b
parent2e1c5bcd32014c9ede1b604ae6c2c653de17fc53
target/arm/helper: don't return early for STKOF faults during stacking

Currently the code in v7m_push_stack() which detects a violation
of the v8M stack limit simply returns early if it does so. This
is OK for the current integer-only code, but won't work for the
floating point handling we're about to add. We need to continue
executing the rest of the function so that we check for other
exceptions like not having permission to use the FPU and so
that we correctly set the FPCCR state if we are doing lazy
stacking. Refactor to avoid the early return.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20190416125744.27770-10-peter.maydell@linaro.org
target/arm/helper.c