diff mbox series

[7/9] target/xtensa: implement block prefetch option opcodes

Message ID 20190514204447.17486-8-jcmvbkbc@gmail.com (mailing list archive)
State New, archived
Headers show
Series target/xtensa: implement options for modern cores | expand

Commit Message

Max Filippov May 14, 2019, 8:44 p.m. UTC
Block prefetch option adds a bunch of non-privileged opcodes that may be
implemented as nops since QEMU doesn't model caches.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
---
 target/xtensa/translate.c | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

Comments

Philippe Mathieu-Daudé May 15, 2019, 6:46 a.m. UTC | #1
On 5/14/19 10:44 PM, Max Filippov wrote:
> Block prefetch option adds a bunch of non-privileged opcodes that may be
> implemented as nops since QEMU doesn't model caches.
> 
> Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
> ---
>  target/xtensa/translate.c | 42 ++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 42 insertions(+)
> 
> diff --git a/target/xtensa/translate.c b/target/xtensa/translate.c
> index 24eb70d619d5..356eb9948701 100644
> --- a/target/xtensa/translate.c
> +++ b/target/xtensa/translate.c
> @@ -3078,6 +3078,9 @@ static const XtensaOpcodeOps core_ops[] = {
>          .translate = translate_dcache,
>          .op_flags = XTENSA_OP_PRIVILEGED,
>      }, {
> +        .name = "dhi.b",
> +        .translate = translate_nop,
> +    }, {
>          .name = "dhu",
>          .translate = translate_dcache,
>          .op_flags = XTENSA_OP_PRIVILEGED,
> @@ -3085,9 +3088,15 @@ static const XtensaOpcodeOps core_ops[] = {
>          .name = "dhwb",
>          .translate = translate_dcache,
>      }, {
> +        .name = "dhwb.b",
> +        .translate = translate_nop,
> +    }, {
>          .name = "dhwbi",
>          .translate = translate_dcache,
>      }, {
> +        .name = "dhwbi.b",
> +        .translate = translate_nop,
> +    }, {
>          .name = "dii",
>          .translate = translate_nop,
>          .op_flags = XTENSA_OP_PRIVILEGED,
> @@ -3112,15 +3121,33 @@ static const XtensaOpcodeOps core_ops[] = {
>          .translate = translate_dcache,
>          .op_flags = XTENSA_OP_PRIVILEGED,
>      }, {
> +        .name = "dpfm.b",
> +        .translate = translate_nop,
> +    }, {
> +        .name = "dpfm.bf",
> +        .translate = translate_nop,
> +    }, {
>          .name = "dpfr",
>          .translate = translate_nop,
>      }, {
> +        .name = "dpfr.b",
> +        .translate = translate_nop,
> +    }, {
> +        .name = "dpfr.bf",
> +        .translate = translate_nop,
> +    }, {
>          .name = "dpfro",
>          .translate = translate_nop,
>      }, {
>          .name = "dpfw",
>          .translate = translate_nop,
>      }, {
> +        .name = "dpfw.b",
> +        .translate = translate_nop,
> +    }, {
> +        .name = "dpfw.bf",
> +        .translate = translate_nop,
> +    }, {
>          .name = "dpfwo",
>          .translate = translate_nop,
>      }, {
> @@ -3628,6 +3655,21 @@ static const XtensaOpcodeOps core_ops[] = {
>          .par = (const uint32_t[]){true},
>          .op_flags = XTENSA_OP_PRIVILEGED,
>      }, {
> +        .name = "pfend.a",
> +        .translate = translate_nop,
> +    }, {
> +        .name = "pfend.o",
> +        .translate = translate_nop,
> +    }, {
> +        .name = "pfnxt.f",
> +        .translate = translate_nop,
> +    }, {
> +        .name = "pfwait.a",
> +        .translate = translate_nop,
> +    }, {
> +        .name = "pfwait.o",
> +        .translate = translate_nop,
> +    }, {
>          .name = "pitlb",
>          .translate = translate_ptlb,
>          .par = (const uint32_t[]){false},
> 

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
diff mbox series

Patch

diff --git a/target/xtensa/translate.c b/target/xtensa/translate.c
index 24eb70d619d5..356eb9948701 100644
--- a/target/xtensa/translate.c
+++ b/target/xtensa/translate.c
@@ -3078,6 +3078,9 @@  static const XtensaOpcodeOps core_ops[] = {
         .translate = translate_dcache,
         .op_flags = XTENSA_OP_PRIVILEGED,
     }, {
+        .name = "dhi.b",
+        .translate = translate_nop,
+    }, {
         .name = "dhu",
         .translate = translate_dcache,
         .op_flags = XTENSA_OP_PRIVILEGED,
@@ -3085,9 +3088,15 @@  static const XtensaOpcodeOps core_ops[] = {
         .name = "dhwb",
         .translate = translate_dcache,
     }, {
+        .name = "dhwb.b",
+        .translate = translate_nop,
+    }, {
         .name = "dhwbi",
         .translate = translate_dcache,
     }, {
+        .name = "dhwbi.b",
+        .translate = translate_nop,
+    }, {
         .name = "dii",
         .translate = translate_nop,
         .op_flags = XTENSA_OP_PRIVILEGED,
@@ -3112,15 +3121,33 @@  static const XtensaOpcodeOps core_ops[] = {
         .translate = translate_dcache,
         .op_flags = XTENSA_OP_PRIVILEGED,
     }, {
+        .name = "dpfm.b",
+        .translate = translate_nop,
+    }, {
+        .name = "dpfm.bf",
+        .translate = translate_nop,
+    }, {
         .name = "dpfr",
         .translate = translate_nop,
     }, {
+        .name = "dpfr.b",
+        .translate = translate_nop,
+    }, {
+        .name = "dpfr.bf",
+        .translate = translate_nop,
+    }, {
         .name = "dpfro",
         .translate = translate_nop,
     }, {
         .name = "dpfw",
         .translate = translate_nop,
     }, {
+        .name = "dpfw.b",
+        .translate = translate_nop,
+    }, {
+        .name = "dpfw.bf",
+        .translate = translate_nop,
+    }, {
         .name = "dpfwo",
         .translate = translate_nop,
     }, {
@@ -3628,6 +3655,21 @@  static const XtensaOpcodeOps core_ops[] = {
         .par = (const uint32_t[]){true},
         .op_flags = XTENSA_OP_PRIVILEGED,
     }, {
+        .name = "pfend.a",
+        .translate = translate_nop,
+    }, {
+        .name = "pfend.o",
+        .translate = translate_nop,
+    }, {
+        .name = "pfnxt.f",
+        .translate = translate_nop,
+    }, {
+        .name = "pfwait.a",
+        .translate = translate_nop,
+    }, {
+        .name = "pfwait.o",
+        .translate = translate_nop,
+    }, {
         .name = "pitlb",
         .translate = translate_ptlb,
         .par = (const uint32_t[]){false},