From nobody Mon Feb 9 23:01:04 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1529376737256833.9757204575412; Mon, 18 Jun 2018 19:52:17 -0700 (PDT) Received: from localhost ([::1]:38773 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fV6ki-0003AQ-Fg for importer@patchew.org; Mon, 18 Jun 2018 22:52:16 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46446) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fV5im-0002Ot-FR for qemu-devel@nongnu.org; Mon, 18 Jun 2018 21:46:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fV5il-0000HX-Hl for qemu-devel@nongnu.org; Mon, 18 Jun 2018 21:46:12 -0400 Received: from mail-oi0-x22e.google.com ([2607:f8b0:4003:c06::22e]:36396) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fV5il-0000HF-C2; Mon, 18 Jun 2018 21:46:11 -0400 Received: by mail-oi0-x22e.google.com with SMTP id 14-v6so16692522oie.3; Mon, 18 Jun 2018 18:46:11 -0700 (PDT) Received: from localhost ([2600:1700:70:e488:b0ee:9bda:ee6f:91be]) by smtp.gmail.com with ESMTPSA id f97-v6sm7715853otb.9.2018.06.18.18.46.08 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 18 Jun 2018 18:46:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=ezUafyHTkoYy5utYrpDUYrzLfAPSG5t+PRP0S/F5e6k=; b=C0tu49ftoScXjyJEcBCX10D/i17/qx4MelPHEXLQAsvYwnguPCIyxgf2vHgMelm6IW JvhsmTG6HwHngZ9EvfORtuEzG5mCtbKgnk/lnLw1YFgD/tFhgrLSW4h6TMyTUxcuZmb5 QtRNo46UUCcTgzN2Fpgd2WUbNlkRjy6dw2c5O3e+3ZB1ZDsuALiArGHaJRHpMJM1v3rh cUwYKhdSgGb5B8zNW7gG5tMHHzZG8BYrX/M7QbFFZshKzLZYuIvHyly9d2n0JBRNEPEX ho0vPUYnQUIqUtMkvfGrpkBrrAy+9CSiAuItt1xCc7U/svRnssT3ylLvbJRmfLpT2xEP /FUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=ezUafyHTkoYy5utYrpDUYrzLfAPSG5t+PRP0S/F5e6k=; b=GBnNEgdz8OvJFNHRCqOh6iDISzxFIdIERkMUkNFObI1dxki6XpDZOA/zq8lGooyEuC drxlFsjYHtgTL143MV6xraWQwsEQuj61aDhPJtF7UNERiZQ6HtywCra1RONWWd7VVhhj MkM8aFxGuOc9OeHhJanBEhB6ja1gHv5mic4Os887fBekM51t4AZ3n2mgVQ7CynExDKal 3upg6+nAbmS+ssUJDjfSLyJLmVrA3ZTvMV+mhjs7zgtokACmsw4fkrytflvQw1jjbhqx uFAVsED+kSsAbVHlpQtosVlayR2uVQqdzwsbf2+w/Trv3AonFB6hXQD6x9V6JrTDxJXE sScw== X-Gm-Message-State: APt69E18j+gKyK/jRzJRTLK5i2clwhns7JJvrLQZn8VK3GuRzcjPIQMx v5pVkLX/q+acPBmjhpRrzFWq43PmVXA= X-Google-Smtp-Source: ADUXVKKm6eaoOrLXW1nSyes2gqt2TS9VQN95QCwwemIcyFPwfhsKjyenDlODp2E9GEuOvIxGrupS4g== X-Received: by 2002:aca:f545:: with SMTP id t66-v6mr7738492oih.316.1529372770075; Mon, 18 Jun 2018 18:46:10 -0700 (PDT) From: Michael Roth To: qemu-devel@nongnu.org Date: Mon, 18 Jun 2018 20:42:23 -0500 Message-Id: <20180619014319.28272-58-mdroth@linux.vnet.ibm.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180619014319.28272-1-mdroth@linux.vnet.ibm.com> References: <20180619014319.28272-1-mdroth@linux.vnet.ibm.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4003:c06::22e Subject: [Qemu-devel] [PATCH 057/113] tcg: Introduce tcg_set_insn_start_param X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Richard Henderson , qemu-stable@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Richard Henderson The parameters for tcg_gen_insn_start are target_ulong, which may be split into two TCGArg parameters for storage in the opcode on 32-bit hosts. Fixes the ARM target and its direct use of tcg_set_insn_param, which would set the wrong argument in the 64-on-32 case. Cc: qemu-stable@nongnu.org Reported-by: alarson@ddci.com Signed-off-by: Richard Henderson Message-id: 20180410003558.2470-1-richard.henderson@linaro.org Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell (cherry picked from commit 9743cd5736263e90d312b2c33bd739ffe1eae70d) Conflicts: target/arm/translate.h tcg/tcg.h * rework to avoid functional dependency on 15fa08f Signed-off-by: Michael Roth --- target/arm/translate.h | 2 +- tcg/tcg.h | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/target/arm/translate.h b/target/arm/translate.h index 410ba79c0d..0c6a24d287 100644 --- a/target/arm/translate.h +++ b/target/arm/translate.h @@ -118,7 +118,7 @@ static void disas_set_insn_syndrome(DisasContext *s, ui= nt32_t syn) =20 /* We check and clear insn_start_idx to catch multiple updates. */ assert(s->insn_start_idx !=3D 0); - tcg_set_insn_param(s->insn_start_idx, 2, syn); + tcg_set_insn_start_param(s->insn_start_idx, 2, syn); s->insn_start_idx =3D 0; } =20 diff --git a/tcg/tcg.h b/tcg/tcg.h index cb7b329876..d88d3520ac 100644 --- a/tcg/tcg.h +++ b/tcg/tcg.h @@ -783,6 +783,16 @@ static inline void tcg_set_insn_param(int op_idx, int = arg, TCGArg v) tcg_ctx->gen_op_buf[op_idx].args[arg] =3D v; } =20 +static inline void tcg_set_insn_start_param(int op_idx, int arg, target_ul= ong v) +{ +#if TARGET_LONG_BITS <=3D TCG_TARGET_REG_BITS + tcg_set_insn_param(op_idx, arg, v); +#else + tcg_set_insn_param(op_idx, arg * 2, v); + tcg_set_insn_param(op_idx, arg * 2 + 1, v >> 32); +#endif +} + /* The number of opcodes emitted so far. */ static inline int tcg_op_buf_count(void) { --=20 2.11.0