All of lore.kernel.org
 help / color / mirror / Atom feed
From: Richard Henderson <rth@twiddle.net>
To: qemu-devel@nongnu.org
Cc: bobby.prani@gmail.com, Alexander Graf <agraf@suse.de>
Subject: [Qemu-devel] [PATCH v2 08/12] tcg/s390: Add support for fence
Date: Thu, 26 May 2016 18:00:11 -0700	[thread overview]
Message-ID: <1464310815-13554-9-git-send-email-rth@twiddle.net> (raw)
In-Reply-To: <1464310815-13554-1-git-send-email-rth@twiddle.net>

Cc: Alexander Graf <agraf@suse.de>
Signed-off-by: Richard Henderson <rth@twiddle.net>
---
 tcg/s390/tcg-target.inc.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/tcg/s390/tcg-target.inc.c b/tcg/s390/tcg-target.inc.c
index e0a60e6..4c63621 100644
--- a/tcg/s390/tcg-target.inc.c
+++ b/tcg/s390/tcg-target.inc.c
@@ -343,6 +343,7 @@ static tcg_insn_unit *tb_ret_addr;
 #define FACILITY_EXT_IMM	(1ULL << (63 - 21))
 #define FACILITY_GEN_INST_EXT	(1ULL << (63 - 34))
 #define FACILITY_LOAD_ON_COND   (1ULL << (63 - 45))
+#define FACILITY_FAST_BCR_SER   FACILITY_LOAD_ON_COND
 
 static uint64_t facilities;
 
@@ -2165,6 +2166,13 @@ static inline void tcg_out_op(TCGContext *s, TCGOpcode opc,
         tgen_deposit(s, args[0], args[2], args[3], args[4]);
         break;
 
+    case INDEX_op_fence:
+        /* The host memory model is quite strong, we simply need to
+           serialize the instruction stream.  */
+        tcg_out_insn(s, RR, BCR,
+		     facilities & FACILITY_FAST_BCR_SER ? 14 : 15, 0);
+        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.  */
@@ -2286,6 +2294,7 @@ static const TCGTargetOpDef s390_op_defs[] = {
     { INDEX_op_movcond_i64, { "r", "r", "rC", "r", "0" } },
     { INDEX_op_deposit_i64, { "r", "0", "r" } },
 
+    { INDEX_op_fence, { } },
     { -1 },
 };
 
-- 
2.5.5

  parent reply	other threads:[~2016-05-27  1:01 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-27  1:00 [Qemu-devel] [PATCH v2 00/12] tcg: Add fence opcode Richard Henderson
2016-05-27  1:00 ` [Qemu-devel] [PATCH v2 01/12] Introduce TCGOpcode for fence instruction Richard Henderson
2016-05-27 10:08   ` Sergey Fedorov
2016-05-27 14:16     ` Pranith Kumar
2016-05-27 10:56   ` Lluís Vilanova
2016-05-27 11:05     ` Peter Maydell
2016-05-27  1:00 ` [Qemu-devel] [PATCH v2 02/12] tcg/i386: Add support for fence Richard Henderson
2016-05-27  1:00 ` [Qemu-devel] [PATCH v2 03/12] tcg/aarch64: " Richard Henderson
2016-05-27  5:58   ` Claudio Fontana
2016-05-27  1:00 ` [Qemu-devel] [PATCH v2 04/12] tcg/arm: " Richard Henderson
2016-05-27  1:00 ` [Qemu-devel] [PATCH v2 05/12] tcg/ia64: " Richard Henderson
2016-05-27  1:00 ` [Qemu-devel] [PATCH v2 06/12] tcg/mips: " Richard Henderson
2016-05-30 16:47   ` Aurelien Jarno
2016-05-27  1:00 ` [Qemu-devel] [PATCH v2 07/12] tcg/ppc: " Richard Henderson
2016-05-27  1:00 ` Richard Henderson [this message]
2016-05-27  1:00 ` [Qemu-devel] [PATCH v2 09/12] tcg/sparc: " Richard Henderson
2016-05-27  1:00 ` [Qemu-devel] [PATCH v2 10/12] tcg/tci: " Richard Henderson
2016-05-27 10:23   ` Sergey Fedorov
2016-05-27 14:17     ` Pranith Kumar
2016-05-27 14:20       ` Sergey Fedorov
2016-05-27 14:21         ` Pranith Kumar
2016-05-27  1:00 ` [Qemu-devel] [PATCH v2 11/12] target-arm: Add frontend support for fence gen in ARMv7 Richard Henderson
2016-05-27  1:00 ` [Qemu-devel] [PATCH v2 12/12] target-alpha: Generate fence opcodes Richard Henderson
2016-05-27  4:20 ` [Qemu-devel] [PATCH v2 00/12] tcg: Add fence opcode Pranith Kumar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1464310815-13554-9-git-send-email-rth@twiddle.net \
    --to=rth@twiddle.net \
    --cc=agraf@suse.de \
    --cc=bobby.prani@gmail.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.