[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC v3 PATCH 10/14] tcg/tci: Add support for fence
From: |
Sergey Fedorov |
Subject: |
Re: [Qemu-devel] [RFC v3 PATCH 10/14] tcg/tci: Add support for fence |
Date: |
Wed, 22 Jun 2016 22:57:43 +0300 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0 |
On 18/06/16 07:03, Pranith Kumar wrote:
> Cc: Stefan Weil <address@hidden>
> Signed-off-by: Richard Henderson <address@hidden>
> Signed-off-by: Pranith Kumar <address@hidden>
> ---
> tcg/tci/tcg-target.inc.c | 3 +++
> tci.c | 3 +++
> 2 files changed, 6 insertions(+)
>
> diff --git a/tcg/tci/tcg-target.inc.c b/tcg/tci/tcg-target.inc.c
> index fa74d52..8e950df 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. */
> diff --git a/tci.c b/tci.c
> index b488c0d..4081e61 100644
> --- a/tci.c
> +++ b/tci.c
> @@ -1236,6 +1236,9 @@ uintptr_t tcg_qemu_tb_exec(CPUArchState *env, uint8_t
> *tb_ptr)
> tcg_abort();
> }
> break;
> + case INDEX_op_mb:
> + smp_mb();
I think we could distinguish smp_rmb(), smp_wmb() and smp_mb() here.
Kind regards,
Sergey
> + break;
> default:
> TODO();
> break;