diff options
author | Pranith Kumar | 2016-07-14 22:20:22 +0200 |
---|---|---|
committer | Richard Henderson | 2016-09-16 17:12:12 +0200 |
commit | a1e69e2f8112cd9406cd18a7d136d746f64db899 (patch) | |
tree | bbf8af31ed3ca1976f10f83100bac3df8b44a0e9 | |
parent | tcg/sparc: Add support for fence (diff) | |
download | qemu-a1e69e2f8112cd9406cd18a7d136d746f64db899.tar.gz qemu-a1e69e2f8112cd9406cd18a7d136d746f64db899.tar.xz qemu-a1e69e2f8112cd9406cd18a7d136d746f64db899.zip |
tcg/tci: Add support for fence
Cc: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Pranith Kumar <bobby.prani@gmail.com>
Message-Id: <20160714202026.9727-11-bobby.prani@gmail.com>
Signed-off-by: Richard Henderson <rth@twiddle.net>
-rw-r--r-- | tcg/tci/tcg-target.inc.c | 3 | ||||
-rw-r--r-- | tci.c | 4 |
2 files changed, 7 insertions, 0 deletions
diff --git a/tcg/tci/tcg-target.inc.c b/tcg/tci/tcg-target.inc.c index 3c47ea7a9e..9dbf4d5512 100644 --- a/tcg/tci/tcg-target.inc.c +++ b/tcg/tci/tcg-target.inc.c @@ -255,6 +255,7 @@ static const TCGTargetOpDef tcg_target_op_defs[] = { { INDEX_op_bswap32_i32, { R, R } }, #endif + { INDEX_op_mb, { } }, { -1 }, }; @@ -800,6 +801,8 @@ static void tcg_out_op(TCGContext *s, TCGOpcode opc, const TCGArg *args, } tcg_out_i(s, *args++); break; + case INDEX_op_mb: + break; case INDEX_op_mov_i32: /* Always emitted via tcg_out_mov. */ case INDEX_op_mov_i64: case INDEX_op_movi_i32: /* Always emitted via tcg_out_movi. */ @@ -1236,6 +1236,10 @@ uintptr_t tcg_qemu_tb_exec(CPUArchState *env, uint8_t *tb_ptr) tcg_abort(); } break; + case INDEX_op_mb: + /* Ensure ordering for all kinds */ + smp_mb(); + break; default: TODO(); break; |