]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
target/xtensa: implement block prefetch option opcodes
authorMax Filippov <jcmvbkbc@gmail.com>
Tue, 16 Apr 2019 00:45:02 +0000 (17:45 -0700)
committerMax Filippov <jcmvbkbc@gmail.com>
Wed, 15 May 2019 17:31:44 +0000 (10:31 -0700)
Block prefetch option adds a bunch of non-privileged opcodes that may be
implemented as nops since QEMU doesn't model caches.

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
target/xtensa/translate.c

index 24eb70d619d51400b86abd5e6bbaad1688a1ff2c..356eb99487019ae82283e54d78484417db03bfec 100644 (file)
@@ -3077,6 +3077,9 @@ static const XtensaOpcodeOps core_ops[] = {
         .name = "dhi",
         .translate = translate_dcache,
         .op_flags = XTENSA_OP_PRIVILEGED,
+    }, {
+        .name = "dhi.b",
+        .translate = translate_nop,
     }, {
         .name = "dhu",
         .translate = translate_dcache,
@@ -3084,9 +3087,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,
@@ -3111,15 +3120,33 @@ static const XtensaOpcodeOps core_ops[] = {
         .name = "dpfl",
         .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,
@@ -3627,6 +3654,21 @@ static const XtensaOpcodeOps core_ops[] = {
         .translate = translate_ptlb,
         .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,