arm: HVC and SMC encodings don't exist for M profile

M profile doesn't have the HVC or SMC encodings, so make them always
UNDEF rather than generating calls to helper functions that assume
A/R profile.

Backports commit 001b3cab51ebfcb13e8dd03ea25bfa3bd0c517a3 from qemu
This commit is contained in:
Peter Maydell 2018-03-02 13:07:24 -05:00 committed by Lioncash
parent 55d79cf4c0
commit cc2a6a2728
No known key found for this signature in database
GPG key ID: 4E3C3CC1031BA9C7

View file

@ -10527,6 +10527,9 @@ static int disas_thumb2_insn(CPUARMState *env, DisasContext *s, uint16_t insn_hw
goto illegal_op; goto illegal_op;
if (insn & (1 << 26)) { if (insn & (1 << 26)) {
if (arm_dc_feature(s, ARM_FEATURE_M)) {
goto illegal_op;
}
if (!(insn & (1 << 20))) { if (!(insn & (1 << 20))) {
/* Hypervisor call (v7) */ /* Hypervisor call (v7) */
int imm16 = extract32(insn, 16, 4) << 12 int imm16 = extract32(insn, 16, 4) << 12