]> git.proxmox.com Git - mirror_qemu.git/commit
target/arm: Add v8M stack checks for Thumb2 LDM/STM
authorPeter Maydell <peter.maydell@linaro.org>
Mon, 8 Oct 2018 13:55:04 +0000 (14:55 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Mon, 8 Oct 2018 13:55:04 +0000 (14:55 +0100)
commit7c0ed88e7d6bee3e55c3d8935c46226cb544191a
tree6dfab570e1718bd194db4262d2f0e68340d4749b
parent910d7692e5b60f2c2d08cc3d6d36076e85b6a69d
target/arm: Add v8M stack checks for Thumb2 LDM/STM

Add the v8M stack checks for:
 * LDM (T2 encoding)
 * STM (T2 encoding)

This includes the 32-bit encodings of the instructions listed
in v8M ARM ARM rule R_YVWT as
 * LDM, LDMIA, LDMFD
 * LDMDB, LDMEA
 * POP (multiple registers)
 * PUSH (muliple registers)
 * STM, STMIA, STMEA
 * STMDB, STMFD

We perform the stack limit before doing any other part
of the load or store.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20181002163556.10279-10-peter.maydell@linaro.org
target/arm/translate.c