diff mbox series

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

Message ID 20190819213755.26175-39-richard.henderson@linaro.org
State New
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(-)

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