target/xtensa: implement block prefetch option opcodes

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>
This commit is contained in:
Max Filippov 2019-04-15 17:45:02 -07:00
parent 75eed0e5f7
commit c884400f29

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