diff options
author | Max Filippov | 2019-04-16 02:45:02 +0200 |
---|---|---|
committer | Max Filippov | 2019-05-15 19:31:44 +0200 |
commit | c884400f2988b1f016e331e406ef9102c60d6722 (patch) | |
tree | 2f09f64eacb535afd7500b41e3cadbec763b26f8 /target/xtensa/translate.c | |
parent | target/xtensa: implement DIWBUI.P opcode (diff) | |
download | qemu-c884400f2988b1f016e331e406ef9102c60d6722.tar.gz qemu-c884400f2988b1f016e331e406ef9102c60d6722.tar.xz qemu-c884400f2988b1f016e331e406ef9102c60d6722.zip |
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>
Diffstat (limited to 'target/xtensa/translate.c')
-rw-r--r-- | target/xtensa/translate.c | 42 |
1 files changed, 42 insertions, 0 deletions
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 @@ -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}, |