From c884400f2988b1f016e331e406ef9102c60d6722 Mon Sep 17 00:00:00 2001 From: Max Filippov Date: Mon, 15 Apr 2019 17:45:02 -0700 Subject: target/xtensa: implement block prefetch option opcodes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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é 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 24eb70d619..356eb99487 100644 --- a/target/xtensa/translate.c +++ b/target/xtensa/translate.c @@ -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, -- cgit v1.2.3