[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 2/2] target/arm: Set ISSIs16Bit in make_issinfo
From: |
Richard Henderson |
Subject: |
[PATCH v2 2/2] target/arm: Set ISSIs16Bit in make_issinfo |
Date: |
Thu, 16 Jan 2020 14:46:18 -1000 |
During the conversion to decodetree, the setting of
ISSIs16Bit got lost. This causes the guest os to
incorrectly adjust trapping memory operations.
Cc: address@hidden
Fixes: 46beb58efbb8a2a32 ("target/arm: Convert T16, load (literal)")
Reported-by: Jeff Kubascik <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
---
target/arm/translate.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/target/arm/translate.c b/target/arm/translate.c
index 5185e08641..c25921ef95 100644
--- a/target/arm/translate.c
+++ b/target/arm/translate.c
@@ -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;
}
--
2.20.1
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [PATCH v2 2/2] target/arm: Set ISSIs16Bit in make_issinfo,
Richard Henderson <=