Skip to content

Commit

Permalink
target/arm: Set ISSIs16Bit in make_issinfo
Browse files Browse the repository at this point in the history
During the conversion to decodetree, the setting of
ISSIs16Bit got lost.  This causes the guest os to
incorrectly adjust trapping memory operations.

Cc: qemu-stable@nongnu.org
Fixes: 46beb58 ("target/arm: Convert T16, load (literal)")
Reported-by: Jeff Kubascik <jeff.kubascik@dornerworks.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20200117004618.2742-3-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
(cherry picked from commit 1a1fbc6)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
  • Loading branch information
rth7680 authored and mdroth committed May 11, 2020
1 parent 4412cb3 commit 77d9c84
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions target/arm/translate.c
Expand Up @@ -8556,6 +8556,9 @@ static ISSInfo make_issinfo(DisasContext *s, int rd, bool p, bool w)
/* ISS not valid if writeback */
if (p && !w) {
ret = rd;
if (s->base.pc_next - s->pc_curr == 2) {
ret |= ISSIs16Bit;
}
} else {
ret = ISSInvalid;
}
Expand Down

0 comments on commit 77d9c84

Please sign in to comment.