diff mbox series

[v2,38/68] target/arm: Convert Unallocated memory hint

Message ID 20190819213755.26175-39-richard.henderson@linaro.org
State Superseded
Headers show
Series target/arm: Convert aa32 base isa to decodetree | expand

Commit Message

Richard Henderson Aug. 19, 2019, 9:37 p.m. UTC
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

Comments

Philippe Mathieu-Daudé Aug. 21, 2019, 1:24 p.m. UTC | #1
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 mbox series

Patch

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 ----