ZCBT has the same user-mode memory effect as ZCB for QEMU's purposes. Reuse the ZCB translator so both cache-block-zero forms clear the containing 128-byte line.
Signed-off-by: James Hilliard <[email protected]> --- Changes v2 -> v3: - Split ZCBT out of the combined Octeon arithmetic and memory instruction patch. (requested by Richard Henderson) --- target/mips/tcg/octeon.decode | 1 + target/mips/tcg/octeon_translate.c | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/target/mips/tcg/octeon.decode b/target/mips/tcg/octeon.decode index d8a1bfce77..56c54e0973 100644 --- a/target/mips/tcg/octeon.decode +++ b/target/mips/tcg/octeon.decode @@ -51,6 +51,7 @@ SAAD 011100 ..... ..... 00000 00000 011001 @saa &zcb base ZCB 011100 base:5 00000 00000 11100 011111 &zcb +ZCBT 011100 base:5 00000 00000 11101 011111 &zcb &lx base index rd @lx ...... base:5 index:5 rd:5 ...... ..... &lx diff --git a/target/mips/tcg/octeon_translate.c b/target/mips/tcg/octeon_translate.c index 794c8f033b..477f681f9e 100644 --- a/target/mips/tcg/octeon_translate.c +++ b/target/mips/tcg/octeon_translate.c @@ -203,6 +203,11 @@ static bool trans_ZCB(DisasContext *ctx, arg_zcb *a) return true; } +static bool trans_ZCBT(DisasContext *ctx, arg_zcb *a) +{ + return trans_ZCB(ctx, a); +} + TRANS(SAA, trans_saa, MO_UL); TRANS(SAAD, trans_saa, MO_UQ); TRANS(LBX, trans_lx, MO_SB); -- 2.54.0
