Re: [Qemu-devel] [PATCH 7/9] target/xtensa: implement block prefetch option opcodes

2019-05-15 Thread Philippe Mathieu-Daudé
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 
> ---
>  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é 



[Qemu-devel] [PATCH 7/9] target/xtensa: implement block prefetch option opcodes

2019-05-14 Thread Max Filippov
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 
---
 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},
-- 
2.11.0