armv8-m: the FPSCR[18:16] LTPSIZE field in exception_common

In armv8m the FPSCR[18:16] LTPSIZE field must be set to 0b100 for
"Tail predication not applied" as it's reset value.

Signed-off-by: zhangyuan21 <zhangyuan21@xiaomi.com>
This commit is contained in:
zhangyuan21 2023-08-02 10:55:19 +08:00 committed by Xiang Xiao
parent 9aa57b6c53
commit b5f266d5af

View File

@ -46,6 +46,7 @@
#include "chip.h"
#include "exc_return.h"
#include "psr.h"
/****************************************************************************
* Pre-processor Definitions
@ -177,6 +178,13 @@ exception_common:
ite eq
vstmdbeq r1!, {s16-s31} /* Save the non-volatile FP context */
subne r1, #(4*SW_FPU_REGS)
/* the FPSCR[18:16] LTPSIZE field must be set to 0b100 for
* "Tail predication not applied" as it's reset value.
*/
mov r0, #ARMV8M_FPSCR_LTPSIZE_NONE
vmsr fpscr, r0
#endif
stmdb r1!, {r2-r12,r14} /* Save the remaining registers plus the SP/PRIMASK values */