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>
  • Loading branch information
rth7680 authored and pm215 committed Jan 17, 2020
1 parent 30d5448 commit 1a1fbc6
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions target/arm/translate.c
Original file line number Diff line number Diff line change
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 1a1fbc6

Please sign in to comment.