Message ID | 20190819213755.26175-39-richard.henderson@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | target/arm: Convert aa32 base isa to decodetree | expand |
On 8/19/19 11:37 PM, Richard Henderson wrote: > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> > --- > target/arm/translate.c | 8 -------- > target/arm/a32-uncond.decode | 8 ++++++++ > 2 files changed, 8 insertions(+), 8 deletions(-) > > diff --git a/target/arm/translate.c b/target/arm/translate.c > index a30a9bb4e0..9ec6b25c03 100644 > --- a/target/arm/translate.c > +++ b/target/arm/translate.c > @@ -10216,14 +10216,6 @@ static void disas_arm_insn(DisasContext *s, unsigned int insn) > } > return; > } > - if (((insn & 0x0f700000) == 0x04100000) || > - ((insn & 0x0f700010) == 0x06100000)) { > - if (!arm_dc_feature(s, ARM_FEATURE_V7MP)) { > - goto illegal_op; > - } > - return; /* v7MP: Unallocated memory hint: must NOP */ > - } > - > if ((insn & 0x0e000f00) == 0x0c000100) { > if (arm_dc_feature(s, ARM_FEATURE_IWMMXT)) { > /* iWMMXt register transfer. */ > diff --git a/target/arm/a32-uncond.decode b/target/arm/a32-uncond.decode > index aed381cb8e..afa95bf7aa 100644 > --- a/target/arm/a32-uncond.decode > +++ b/target/arm/a32-uncond.decode > @@ -64,3 +64,11 @@ PLI 1111 0100 -101 ---- 1111 ---- ---- ---- # (imm, lit) 7 > PLD 1111 0111 -101 ---- 1111 ----- -- 0 ---- # (register) 5te > PLDW 1111 0111 -001 ---- 1111 ----- -- 0 ---- # (register) 7mp > PLI 1111 0110 -101 ---- 1111 ----- -- 0 ---- # (register) 7 > + > +# Unallocated memory hints > +# > +# Since these are v7MP nops, and PLDW is v7MP and implemented as nop, > +# (ab)use the PLDW helper. > + > +PLDW 1111 0100 -001 ---- ---- ---- ---- ---- > +PLDW 1111 0110 -001 ---- ---- ---- ---0 ---- >
diff --git a/target/arm/translate.c b/target/arm/translate.c index a30a9bb4e0..9ec6b25c03 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -10216,14 +10216,6 @@ static void disas_arm_insn(DisasContext *s, unsigned int insn) } return; } - if (((insn & 0x0f700000) == 0x04100000) || - ((insn & 0x0f700010) == 0x06100000)) { - if (!arm_dc_feature(s, ARM_FEATURE_V7MP)) { - goto illegal_op; - } - return; /* v7MP: Unallocated memory hint: must NOP */ - } - if ((insn & 0x0e000f00) == 0x0c000100) { if (arm_dc_feature(s, ARM_FEATURE_IWMMXT)) { /* iWMMXt register transfer. */ diff --git a/target/arm/a32-uncond.decode b/target/arm/a32-uncond.decode index aed381cb8e..afa95bf7aa 100644 --- a/target/arm/a32-uncond.decode +++ b/target/arm/a32-uncond.decode @@ -64,3 +64,11 @@ PLI 1111 0100 -101 ---- 1111 ---- ---- ---- # (imm, lit) 7 PLD 1111 0111 -101 ---- 1111 ----- -- 0 ---- # (register) 5te PLDW 1111 0111 -001 ---- 1111 ----- -- 0 ---- # (register) 7mp PLI 1111 0110 -101 ---- 1111 ----- -- 0 ---- # (register) 7 + +# Unallocated memory hints +# +# Since these are v7MP nops, and PLDW is v7MP and implemented as nop, +# (ab)use the PLDW helper. + +PLDW 1111 0100 -001 ---- ---- ---- ---- ---- +PLDW 1111 0110 -001 ---- ---- ---- ---0 ----
Signed-off-by: Richard Henderson <richard.henderson@linaro.org> --- target/arm/translate.c | 8 -------- target/arm/a32-uncond.decode | 8 ++++++++ 2 files changed, 8 insertions(+), 8 deletions(-) -- 2.17.1