From nobody Fri May 17 06:30:35 2024 Delivered-To: importer2@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1712442865; cv=none; d=zohomail.com; s=zohoarc; b=dZRDzOBHhdsv/ScZtWDn3JX86cr0j1vJ7CUYy+VacStsenSfa6OJCem6MmM6ROGvvq2JiQLpICAcr6LQk4C4kWYJS65Yp4JVGY+/HMhQakHUJQIbJEPFGDWZz7LXJI72xpp2dANawBKouqqID2sjTxRrY7eZZ5e9rIkqQ7m+mgo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1712442865; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=uK1v+EiguMoYRGbIEG8BvH+kU+PSbAC8gTglH1oJQN4=; b=T2rAPYrsZj/sPtMHoXwShuW2gvJgyB3B4Xb4ACin0PbPaJxWfJtlpVNyxzH+dZs8J534AYqjKyuVqKQhihsUbfSp3XCjxzOtK4HUoxgA1J4loOYQ2oTC8a//FaBj1Jl+csdaYiIp64QQKUYLUoK1BTs3f70QaYv8yZmtBKoCiAg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1712442865310438.8584434368846; Sat, 6 Apr 2024 15:34:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rtEap-0003M2-HF; Sat, 06 Apr 2024 18:32:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rtEan-0003LQ-1U for qemu-devel@nongnu.org; Sat, 06 Apr 2024 18:32:57 -0400 Received: from mail-pf1-x433.google.com ([2607:f8b0:4864:20::433]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rtEal-0006fI-Ft for qemu-devel@nongnu.org; Sat, 06 Apr 2024 18:32:56 -0400 Received: by mail-pf1-x433.google.com with SMTP id d2e1a72fcca58-6ed2170d89fso88444b3a.1 for ; Sat, 06 Apr 2024 15:32:55 -0700 (PDT) Received: from stoup.. (098-147-007-212.res.spectrum.com. [98.147.7.212]) by smtp.gmail.com with ESMTPSA id f23-20020a17090ace1700b002a20c0dcebbsm3643279pju.31.2024.04.06.15.32.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 06 Apr 2024 15:32:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1712442774; x=1713047574; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=uK1v+EiguMoYRGbIEG8BvH+kU+PSbAC8gTglH1oJQN4=; b=C4JMonpkumYVHLLy8PcAPHvlDkFbTuu4KReUjuHM2x06qsvQLQReyP2pHiBICV6V/w RSx2WE+ys6JuTFmPSmtlSKkRD163f/lSRLXSlB4XiinVyc0Tmeea3VZhbeGNL8DYNty0 E+dOIQAq1Qx+w3mEa/i1MDPc//ebfMlDCKYrb7MDXmEwzpVYrJCVgozaPWHSKfocRqm0 l98y7VQeTkfsHq9s1h2UeWkho5QfRUl/wL8nrWzqo9om0YyNUuNSA6btyK2jSs2q2V28 EhTkyPcflkatkt6mElHp6rfTxj/6ql4THy3qKJ+rEHkyO6BUkPPZqyZyGvV1mqvFZ49I A1OQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712442774; x=1713047574; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=uK1v+EiguMoYRGbIEG8BvH+kU+PSbAC8gTglH1oJQN4=; b=KLMZu4XQkqXqWTyyIG3h6AChobt9GqVq35g/ovZNMwl4HU4FRDnz35PtWfQ4w7snGv ZCbUPTf7w6Qk+TU0c+vkSKRF6ZKbNjPDj2irYJcHPTCoqOGI0wiIgGCj7xBmqn84YY4f dfFPjKy5ouZUmyv5h3I+QpvnlDJjHzXyRKAwMyaegXQ5I58J7N5GcRUnhXVXMybc6TkQ 7h0YkG7Y2hinDfqS17CiIXvrf518jYjrsUj9xLuXASJXEHyCm7JL1pRTyfOQbGjOE+kW 0kYBO5Jz5n3OowMCk1iXyoi6lodo/x+hpPzVNuWWr5can6JMxUm6KsfJq/TZaJ603ccd k10w== X-Gm-Message-State: AOJu0Yy7uAKwb8dsO9U8QMKSc25g55Q7msu0fG1nYQkXfmNxSkDodwPY evobkhVFW75t6I+Wnh6MLTQOxjODaYaEriwZhZwsS8qPxFbbSaNKouAz+rV4RToN8UCrEofkK9O 5 X-Google-Smtp-Source: AGHT+IH4KHGnntIWZ+1epoLd26bxOo7aYk4QCzq7PsjdzeFlPnpZnPzhBgELI5mCBj3KEO86RynA+g== X-Received: by 2002:a17:90a:f683:b0:2a4:b04b:d204 with SMTP id cl3-20020a17090af68300b002a4b04bd204mr2799489pjb.7.1712442773854; Sat, 06 Apr 2024 15:32:53 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: peter.maydell@linaro.org, Jorgen.Hansen@wdc.com, Jonathan.Cameron@huawei.com, linux-cxl@vger.kernel.org, Pierrick Bouvier Subject: [PATCH 1/9] tcg: Add TCGContext.emit_before_op Date: Sat, 6 Apr 2024 12:32:40 -1000 Message-Id: <20240406223248.502699-2-richard.henderson@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240406223248.502699-1-richard.henderson@linaro.org> References: <20240406223248.502699-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer2=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::433; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x433.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer2=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer2=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1712442867288100003 Content-Type: text/plain; charset="utf-8" Allow operations to be emitted via normal expanders into the middle of the opcode stream. Reviewed-by: Pierrick Bouvier Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- include/tcg/tcg.h | 6 ++++++ tcg/tcg.c | 14 ++++++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/include/tcg/tcg.h b/include/tcg/tcg.h index 451f3fec41..05a1912f8a 100644 --- a/include/tcg/tcg.h +++ b/include/tcg/tcg.h @@ -553,6 +553,12 @@ struct TCGContext { QTAILQ_HEAD(, TCGOp) ops, free_ops; QSIMPLEQ_HEAD(, TCGLabel) labels; =20 + /* + * When clear, new ops are added to the tail of @ops. + * When set, new ops are added in front of @emit_before_op. + */ + TCGOp *emit_before_op; + /* Tells which temporary holds a given register. It does not take into account fixed registers */ TCGTemp *reg_to_temp[TCG_TARGET_NB_REGS]; diff --git a/tcg/tcg.c b/tcg/tcg.c index d6670237fb..0c0bb9d169 100644 --- a/tcg/tcg.c +++ b/tcg/tcg.c @@ -1521,6 +1521,7 @@ void tcg_func_start(TCGContext *s) =20 QTAILQ_INIT(&s->ops); QTAILQ_INIT(&s->free_ops); + s->emit_before_op =3D NULL; QSIMPLEQ_INIT(&s->labels); =20 tcg_debug_assert(s->addr_type =3D=3D TCG_TYPE_I32 || @@ -2332,7 +2333,11 @@ static void tcg_gen_callN(TCGHelperInfo *info, TCGTe= mp *ret, TCGTemp **args) op->args[pi++] =3D (uintptr_t)info; tcg_debug_assert(pi =3D=3D total_args); =20 - QTAILQ_INSERT_TAIL(&tcg_ctx->ops, op, link); + if (tcg_ctx->emit_before_op) { + QTAILQ_INSERT_BEFORE(tcg_ctx->emit_before_op, op, link); + } else { + QTAILQ_INSERT_TAIL(&tcg_ctx->ops, op, link); + } =20 tcg_debug_assert(n_extend < ARRAY_SIZE(extend_free)); for (i =3D 0; i < n_extend; ++i) { @@ -3215,7 +3220,12 @@ static TCGOp *tcg_op_alloc(TCGOpcode opc, unsigned n= args) TCGOp *tcg_emit_op(TCGOpcode opc, unsigned nargs) { TCGOp *op =3D tcg_op_alloc(opc, nargs); - QTAILQ_INSERT_TAIL(&tcg_ctx->ops, op, link); + + if (tcg_ctx->emit_before_op) { + QTAILQ_INSERT_BEFORE(tcg_ctx->emit_before_op, op, link); + } else { + QTAILQ_INSERT_TAIL(&tcg_ctx->ops, op, link); + } return op; } =20 --=20 2.34.1 From nobody Fri May 17 06:30:35 2024 Delivered-To: importer2@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1712442856; cv=none; d=zohomail.com; s=zohoarc; b=HYQTAhz+dOiUqLo1/rBHYLMQvJawbURRudPkfa402NBgft9yEQ3XEouZKHBYZznpQFiqOVPVcMHndRPYK6B1KGpc+u+wo9Cotx0YSks2nV1LmsoiqkQYZBlVKKmPzC0gprGWeyGYIt6Rn7FjSr5MP5dEigRP96/VaRGrevywDE8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1712442856; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=2L2/prB0ux2ctNxoqiiUKt6ospzwwfXyvGcwqxEj/VU=; b=geuebz88EZ+4iyvk6adaUpXsIKyMa4xX1nsH12wDiS8sEds3+D3+LPpnnwSKzrLeY3cfpUpH52QpRuLm0lxZnDta1bXqGDhKT/hWd05l5iD2gNjFyBGj2TxP7Yg/p/BmKKtuOmXknDy4cdiOLYr2h+h3Ph+Kw6P1AmqryPjtCuY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1712442856199238.1646056124548; Sat, 6 Apr 2024 15:34:16 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rtEaq-0003M6-55; Sat, 06 Apr 2024 18:33:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rtEao-0003Lo-EE for qemu-devel@nongnu.org; Sat, 06 Apr 2024 18:32:58 -0400 Received: from mail-pj1-x102d.google.com ([2607:f8b0:4864:20::102d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rtEam-0006fN-Uv for qemu-devel@nongnu.org; Sat, 06 Apr 2024 18:32:58 -0400 Received: by mail-pj1-x102d.google.com with SMTP id 98e67ed59e1d1-2a2f6da024eso1848124a91.3 for ; Sat, 06 Apr 2024 15:32:56 -0700 (PDT) Received: from stoup.. (098-147-007-212.res.spectrum.com. [98.147.7.212]) by smtp.gmail.com with ESMTPSA id f23-20020a17090ace1700b002a20c0dcebbsm3643279pju.31.2024.04.06.15.32.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 06 Apr 2024 15:32:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1712442775; x=1713047575; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=2L2/prB0ux2ctNxoqiiUKt6ospzwwfXyvGcwqxEj/VU=; b=TnslF/4kyHI0TtRj0726QWUwk3l01jJsj8h34GOmnf5CnnKzS2CMGc2MHA2FxhVDu6 ZqVR3TQgpCv3S0yNXlcpm5QeBQRQGYLC484TVjkZ+ONuGdjPZUJP2AiWUYX1ZcPrvaFG D63qawqB+lxsUn/cXhqjqzwMjNRid1YOgCtu8RWvFInWAMA+UR0zlurzUvpvVv6N6B7W LmDgXQxlrkzynOin5kllDW+8bKqZ/kI7nTp9/NHyIRltHzbKw5ZaJJGcw8hJips3lPne GLYtUm+jv806kak7KML9a38iyVS2kQb5Z4IKOEOyGHiKgNfpiEPQnzxnunznouuC0ojH Q6jA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712442775; x=1713047575; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=2L2/prB0ux2ctNxoqiiUKt6ospzwwfXyvGcwqxEj/VU=; b=DCyuKlhxaKcC/yAL5VrLbKP0Rq0150R2uMR/dIC/eNFIIISw2cSrJgRCuFmFpUtkeb Lh8Kc7RDayNf5zzv4U5bU8OOskl79fF3gAgaYXjMknPw77eZf50KLon6UoKZZcnzhfcb 0Cz9WrAVAv2y2SC86qKu0rON8LpDtD4TrVVupE109Za0V45utsty/tpLR97ANBTuP/6K IFBB32XOflK6cEhq/jwTooQHwjt5u/3dye65f2MeqwwWQUR1Bsg/Pt3htecYAXLYtBAv e8SVk6MgHwUlXs93u4+msChvKSM7hzjHFpITUs2sBajUPuixSK5cakeZR1Apr6JAlUsf 2ldA== X-Gm-Message-State: AOJu0Yy0XC8aItKtlwdcdNKp6KAd4PERYGooj4cpr8ugzh2gYE7xbo50 HGYHVFBiHtbhnhUMOHWveRc8r47MciTRHAkTEURIwI0cZZHmxw4dssTs3AriMJlYZyHMm7Gea0Y f X-Google-Smtp-Source: AGHT+IGDChcSyXOe/krl7Jt6OrrMbxdy1DnpqVL6nLsJh1dU/15hj84F26u8LD5cGAiYd07pEisvFA== X-Received: by 2002:a17:90a:df10:b0:2a2:9b12:da04 with SMTP id gp16-20020a17090adf1000b002a29b12da04mr3882477pjb.3.1712442775469; Sat, 06 Apr 2024 15:32:55 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: peter.maydell@linaro.org, Jorgen.Hansen@wdc.com, Jonathan.Cameron@huawei.com, linux-cxl@vger.kernel.org Subject: [PATCH 2/9] accel/tcg: Add insn_start to DisasContextBase Date: Sat, 6 Apr 2024 12:32:41 -1000 Message-Id: <20240406223248.502699-3-richard.henderson@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240406223248.502699-1-richard.henderson@linaro.org> References: <20240406223248.502699-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer2=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::102d; envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x102d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer2=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer2=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1712442857221100003 Content-Type: text/plain; charset="utf-8" This is currently target-specific for many; begin making it target independent. Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- include/exec/translator.h | 3 +++ accel/tcg/translator.c | 2 ++ 2 files changed, 5 insertions(+) diff --git a/include/exec/translator.h b/include/exec/translator.h index 51624feb10..ceaeca8c91 100644 --- a/include/exec/translator.h +++ b/include/exec/translator.h @@ -74,6 +74,8 @@ typedef enum DisasJumpType { * @singlestep_enabled: "Hardware" single stepping enabled. * @saved_can_do_io: Known value of cpu->neg.can_do_io, or -1 for unknown. * @plugin_enabled: TCG plugin enabled in this TB. + * @insn_start: The last op emitted by the insn_start hook, + * which is expected to be INDEX_op_insn_start. * * Architecture-agnostic disassembly context. */ @@ -87,6 +89,7 @@ typedef struct DisasContextBase { bool singlestep_enabled; int8_t saved_can_do_io; bool plugin_enabled; + struct TCGOp *insn_start; void *host_addr[2]; } DisasContextBase; =20 diff --git a/accel/tcg/translator.c b/accel/tcg/translator.c index 38c34009a5..ae61c154c2 100644 --- a/accel/tcg/translator.c +++ b/accel/tcg/translator.c @@ -140,6 +140,7 @@ void translator_loop(CPUState *cpu, TranslationBlock *t= b, int *max_insns, db->max_insns =3D *max_insns; db->singlestep_enabled =3D cflags & CF_SINGLE_STEP; db->saved_can_do_io =3D -1; + db->insn_start =3D NULL; db->host_addr[0] =3D host_pc; db->host_addr[1] =3D NULL; =20 @@ -157,6 +158,7 @@ void translator_loop(CPUState *cpu, TranslationBlock *t= b, int *max_insns, while (true) { *max_insns =3D ++db->num_insns; ops->insn_start(db, cpu); + db->insn_start =3D tcg_last_op(); tcg_debug_assert(db->is_jmp =3D=3D DISAS_NEXT); /* no early exit = */ =20 if (plugin_enabled) { --=20 2.34.1 From nobody Fri May 17 06:30:35 2024 Delivered-To: importer2@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1712442889; cv=none; d=zohomail.com; s=zohoarc; b=asF41W29NUcMfGoHDnkXL/8bPGNeLI0YvXCMzm2YYPZwDDN9NsnUMlOBGifYD4vHjwJ0qW2h+6+LAfn9fBYXFw4BkSKhrzNuQT1Ws/FAraMU568AKCa3gjokLONkJL0vkqXi4uKHUioZYBXk0NseOO98wMZILoOMwyMfHiIna68= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1712442889; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=QQc6e5RogWeg+/QqEB/0KfIIQRJeLZXWsX6Xz7y/RG8=; b=D3iEvHpBjF6d8HOL8J/uGq0FREmnfpptMuZkQNiUYLl3rTotD1kbShymcgJ6TQ6twyuMrRRV2BGKgHMNk5F65ixkEAy+GqwgPHLnU+Zs/KuTf0HQFQ8gKNxP4npTKaW21oci5cmomUwEObqBhqxpNz69TP3+0+lt/BCj3gaQIlc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1712442889757371.4800892193732; Sat, 6 Apr 2024 15:34:49 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rtEas-0003N8-Gy; Sat, 06 Apr 2024 18:33:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rtEap-0003M4-Uz for qemu-devel@nongnu.org; Sat, 06 Apr 2024 18:33:00 -0400 Received: from mail-pj1-x1036.google.com ([2607:f8b0:4864:20::1036]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rtEao-0006ft-Ct for qemu-devel@nongnu.org; Sat, 06 Apr 2024 18:32:59 -0400 Received: by mail-pj1-x1036.google.com with SMTP id 98e67ed59e1d1-2a2d0ca3c92so2115561a91.0 for ; Sat, 06 Apr 2024 15:32:58 -0700 (PDT) Received: from stoup.. (098-147-007-212.res.spectrum.com. [98.147.7.212]) by smtp.gmail.com with ESMTPSA id f23-20020a17090ace1700b002a20c0dcebbsm3643279pju.31.2024.04.06.15.32.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 06 Apr 2024 15:32:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1712442777; x=1713047577; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=QQc6e5RogWeg+/QqEB/0KfIIQRJeLZXWsX6Xz7y/RG8=; b=okzOtzWWY9TyyLE+vDIzRbNyMb8tVFFm66dF6voACRkpHacdT0aELlWF9Urxn7mAZt D4Eq5qjp44bwle4NK/ddgVWssrsDv9U+Uuco+mHBVr93tOgM8PJxAFCKQfzGUeLXkA3X uY7RK6q3bJlhszJiLHTVk34YWOHaRBzLjlDjvz5LQugqLtaVjBX00uVVgS+eLdzrYQ5s 909+w2CzFMs+WZpOsLWoeTX2jkk+OPmpb7v5I+MSs0F8wPi6ttv37RTDXR82InHP1AxC 00PemL7qrLBBTmu/1RettFoEiGFF2MOGmNG6bdAq1gNUKsLfEQa8kfxQIdNOYOibBm1B WGyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712442777; x=1713047577; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QQc6e5RogWeg+/QqEB/0KfIIQRJeLZXWsX6Xz7y/RG8=; b=CYWF+ZVVgyoLzeZ3v9xDImLCndAgVqE5703sOpQT3NnXNH4RXtleQatf+EXE0wYJhu 5aLqk2GGsE6TSpFiGhth5tdly36P3W3eExsEWlJzv4VrMggzARMyK06njgwXoO7B75bd kKMtOwjC768DYxS/E1ryvqM1klKehd638zxoJxXBm3j+UfKCH8Qw8TJuqOZ5vacW14ue 0w3AL04jFNrkPPLlU7S/9mSx9wg/EJsPfhGYLTGF/5AYLIYk7UQAZ/fc8JlccXPmpPBg SZWE4nwyfv+oRowiG/j/hMyXK26aXyMT7EB82YOTSRDC04FmrNkUkVXFOI5pBi3m1Q7q fhXQ== X-Gm-Message-State: AOJu0YxIhyrgED4kmgiy09/VNlu2zQm6bgIXNeAM80wC3qmtnY/rJ5tN u8BBIRqrQuEY+L39zf6v8ZU8Gl/99XNRQlQ/uB8TsrRbw05c0+yQOPiru2T9ijpKt7sreLC4jFd / X-Google-Smtp-Source: AGHT+IHvglE+20EV14TIEcEtETBS3PRrO9IVFh74Usc8OZGns7hc9vLAHRrHFRw7/hKBktR7zvRXwA== X-Received: by 2002:a17:90a:7c43:b0:2a2:f249:6180 with SMTP id e3-20020a17090a7c4300b002a2f2496180mr8207410pjl.18.1712442777063; Sat, 06 Apr 2024 15:32:57 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: peter.maydell@linaro.org, Jorgen.Hansen@wdc.com, Jonathan.Cameron@huawei.com, linux-cxl@vger.kernel.org Subject: [PATCH 3/9] target/arm: Use insn_start from DisasContextBase Date: Sat, 6 Apr 2024 12:32:42 -1000 Message-Id: <20240406223248.502699-4-richard.henderson@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240406223248.502699-1-richard.henderson@linaro.org> References: <20240406223248.502699-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer2=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::1036; envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x1036.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer2=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer2=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1712442891512100003 Content-Type: text/plain; charset="utf-8" To keep the multiple update check, replace insn_start with insn_start_updated. Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- target/arm/tcg/translate.h | 12 ++++++------ target/arm/tcg/translate-a64.c | 2 +- target/arm/tcg/translate.c | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/target/arm/tcg/translate.h b/target/arm/tcg/translate.h index 93be745cf3..dc66ff2190 100644 --- a/target/arm/tcg/translate.h +++ b/target/arm/tcg/translate.h @@ -165,10 +165,10 @@ typedef struct DisasContext { uint8_t gm_blocksize; /* True if this page is guarded. */ bool guarded_page; + /* True if the current insn_start has been updated. */ + bool insn_start_updated; /* Bottom two bits of XScale c15_cpar coprocessor access control reg */ int c15_cpar; - /* TCG op of the current insn_start. */ - TCGOp *insn_start; /* Offset from VNCR_EL2 when FEAT_NV2 redirects this reg to memory */ uint32_t nv2_redirect_offset; } DisasContext; @@ -276,10 +276,10 @@ static inline void disas_set_insn_syndrome(DisasConte= xt *s, uint32_t syn) syn &=3D ARM_INSN_START_WORD2_MASK; syn >>=3D ARM_INSN_START_WORD2_SHIFT; =20 - /* We check and clear insn_start_idx to catch multiple updates. */ - assert(s->insn_start !=3D NULL); - tcg_set_insn_start_param(s->insn_start, 2, syn); - s->insn_start =3D NULL; + /* Check for multiple updates. */ + assert(!s->insn_start_updated); + s->insn_start_updated =3D true; + tcg_set_insn_start_param(s->base.insn_start, 2, syn); } =20 static inline int curr_insn_len(DisasContext *s) diff --git a/target/arm/tcg/translate-a64.c b/target/arm/tcg/translate-a64.c index 340265beb0..2666d52711 100644 --- a/target/arm/tcg/translate-a64.c +++ b/target/arm/tcg/translate-a64.c @@ -14179,7 +14179,7 @@ static void aarch64_tr_insn_start(DisasContextBase = *dcbase, CPUState *cpu) pc_arg &=3D ~TARGET_PAGE_MASK; } tcg_gen_insn_start(pc_arg, 0, 0); - dc->insn_start =3D tcg_last_op(); + dc->insn_start_updated =3D false; } =20 static void aarch64_tr_translate_insn(DisasContextBase *dcbase, CPUState *= cpu) diff --git a/target/arm/tcg/translate.c b/target/arm/tcg/translate.c index 69585e6003..dc49a8d806 100644 --- a/target/arm/tcg/translate.c +++ b/target/arm/tcg/translate.c @@ -9273,7 +9273,7 @@ static void arm_tr_insn_start(DisasContextBase *dcbas= e, CPUState *cpu) condexec_bits =3D (dc->condexec_cond << 4) | (dc->condexec_mask >>= 1); } tcg_gen_insn_start(pc_arg, condexec_bits, 0); - dc->insn_start =3D tcg_last_op(); + dc->insn_start_updated =3D false; } =20 static bool arm_check_kernelpage(DisasContext *dc) --=20 2.34.1 From nobody Fri May 17 06:30:35 2024 Delivered-To: importer2@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1712442836; cv=none; d=zohomail.com; s=zohoarc; b=iA+ZI4zg6maD15zWuRgvRrZBfJNnNFiKq73BEGS2nxJtRgwPswKZZ8YW180lfigzHGSDGd4aaIVLHA75NVXglRZDTNOa8qfTrgWHQiQ2TObL4xyoNKGYcolyMlCK1L+Bu6fyn/gCQUCfF5JbFAvDg8iBipXZ3Fu4sFJ39tPb3Yg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1712442836; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=+n5c7Yxg8Vn5seTMJXxw9ptGbTW4ezPBKl3xezctxZM=; b=auHf67n0JOAoBXuWNFjZ5IG8BMCu2PBdcybU24TLtwnjNLvi20BccHEQuuHlQvM56vkQO58PJKks36A2IpM0BVPVsl3ej06PClyooubEQo0wAAs1b7X6XpaPzlQbJoQubClXbMm1V6uPbklUS7BnIR954NxC+mtH44KwFmjeQGo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1712442836387401.76421872194726; Sat, 6 Apr 2024 15:33:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rtEas-0003N9-Gv; Sat, 06 Apr 2024 18:33:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rtEar-0003Mk-Ld for qemu-devel@nongnu.org; Sat, 06 Apr 2024 18:33:01 -0400 Received: from mail-pl1-x62f.google.com ([2607:f8b0:4864:20::62f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rtEaq-0006gY-1o for qemu-devel@nongnu.org; Sat, 06 Apr 2024 18:33:01 -0400 Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-1e2178b2cf2so30600875ad.0 for ; Sat, 06 Apr 2024 15:32:59 -0700 (PDT) Received: from stoup.. (098-147-007-212.res.spectrum.com. [98.147.7.212]) by smtp.gmail.com with ESMTPSA id f23-20020a17090ace1700b002a20c0dcebbsm3643279pju.31.2024.04.06.15.32.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 06 Apr 2024 15:32:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1712442778; x=1713047578; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=+n5c7Yxg8Vn5seTMJXxw9ptGbTW4ezPBKl3xezctxZM=; b=s/cUR2YeZate0zQhDZYSpxe9C8JimrO0ZJzCgJysH3RG2Dc2fv8TeTwzkVa4fwQsXL S+kYg3LSA7onYadCxEOiJOITKVU6Y5k/XwQ676F8eVSLezR+gHTUJ0/0zjxxKmUpLOd1 AKTlwW7VbNNuWl23l4XSQkdEYKqT7AJTO5J+OcPOD40QBrEcJnEkBpXGv5QedyX+pxOK yk+FOY1KYrRYiwfNhlifrsVVSBBQb90HjljF61hCJ5Wv22kNCsJ08j8j0awTdlCTLDjQ 7vBDTt/rl0QOLzzQfKmSQ2NEH37855mzsGW+oQgZroWTQetc2++h1XcOvje1Fcxsg9UE JD2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712442778; x=1713047578; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+n5c7Yxg8Vn5seTMJXxw9ptGbTW4ezPBKl3xezctxZM=; b=sgZJTabVoE1aZ9UiSpimaUB5COrl1hQpYIoEeckSSW5sDOya265lG3bjlV3bPhYGWH G8C/SICVIyITGE22+dt0abDP0zuUfquEj7zealcB9G0QvidKKhP4cnTNk+PA9XqG8Rog dYix10DzHjNzYjS2Pdp3bnDcLzNzkD7mXkm5wxvWot7LfGu5EAbaiPaWoawOClIi+yPq 9fPoVFB6EiiEEhOkhhf3wuno8c5MHorev9FY+gFjSgH+kiWouPEY3/Am59ASvoKnN77s X3jwnS1orutujUjd4lX0arcy49bCkCnu92JjxVRAvEL5Bj9kGVVLHXrVmFjmDQiJbfml AEPA== X-Gm-Message-State: AOJu0YyTbzB6vw6g//BZNcDG5omf87zUIpr1hq9IRvUDox/Nz5/LB49b laVoCWdHBeYsXTSDlFFd6pC1l2AEFXzUmFQMKUQcOtjhpYtS9BbQLXF8qbgt9CG6gKEYjNhZZT/ 7 X-Google-Smtp-Source: AGHT+IECsFtB+N+jqMU1g/THG5NcNWkWpYs1ZikTHMVxfD9Jpit6UqTKaKaRMDwwebgxM6ymSwRFeQ== X-Received: by 2002:a17:902:efce:b0:1e0:983c:d686 with SMTP id ja14-20020a170902efce00b001e0983cd686mr4702554plb.20.1712442778661; Sat, 06 Apr 2024 15:32:58 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: peter.maydell@linaro.org, Jorgen.Hansen@wdc.com, Jonathan.Cameron@huawei.com, linux-cxl@vger.kernel.org Subject: [PATCH 4/9] target/hppa: Use insn_start from DisasContextBase Date: Sat, 6 Apr 2024 12:32:43 -1000 Message-Id: <20240406223248.502699-5-richard.henderson@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240406223248.502699-1-richard.henderson@linaro.org> References: <20240406223248.502699-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer2=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::62f; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x62f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer2=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer2=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1712442837287100008 Content-Type: text/plain; charset="utf-8" To keep the multiple update check, replace insn_start with insn_start_updated. Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- target/hppa/translate.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/target/hppa/translate.c b/target/hppa/translate.c index 8a1a8bc3aa..42fa480950 100644 --- a/target/hppa/translate.c +++ b/target/hppa/translate.c @@ -44,7 +44,6 @@ typedef struct DisasCond { typedef struct DisasContext { DisasContextBase base; CPUState *cs; - TCGOp *insn_start; =20 uint64_t iaoq_f; uint64_t iaoq_b; @@ -62,6 +61,7 @@ typedef struct DisasContext { int privilege; bool psw_n_nonzero; bool is_pa20; + bool insn_start_updated; =20 #ifdef CONFIG_USER_ONLY MemOp unalign; @@ -300,9 +300,9 @@ void hppa_translate_init(void) =20 static void set_insn_breg(DisasContext *ctx, int breg) { - assert(ctx->insn_start !=3D NULL); - tcg_set_insn_start_param(ctx->insn_start, 2, breg); - ctx->insn_start =3D NULL; + assert(!ctx->insn_start_updated); + ctx->insn_start_updated =3D true; + tcg_set_insn_start_param(ctx->base.insn_start, 2, breg); } =20 static DisasCond cond_make_f(void) @@ -4694,7 +4694,7 @@ static void hppa_tr_insn_start(DisasContextBase *dcba= se, CPUState *cs) DisasContext *ctx =3D container_of(dcbase, DisasContext, base); =20 tcg_gen_insn_start(ctx->iaoq_f, ctx->iaoq_b, 0); - ctx->insn_start =3D tcg_last_op(); + ctx->insn_start_updated =3D false; } =20 static void hppa_tr_translate_insn(DisasContextBase *dcbase, CPUState *cs) --=20 2.34.1 From nobody Fri May 17 06:30:35 2024 Delivered-To: importer2@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1712442883; cv=none; d=zohomail.com; s=zohoarc; b=bbuO3Rhis455SSES+E33IFZHURoCzFiD7x1Ii75gRdjpOphrl00uEUS2ESkQPQQVCy4GZY3wKfrAIPODOox1Qfrmm1jLbjuF+kpk3W7KTbDViBuThGRdU6VOHz6XeW+qC4rpzmpPcuKxg7Ac7tglBS75qIKSXqxzd2IpdBymA6g= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1712442883; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=huPDBBhYc/g4B/wyxsCiRcrglSPPFxdW6/Rpm03HcSo=; b=NZpxhBZlCLZ4p9cqlqMrCSYibTArRFiKukO36nlm0P96B7gplJkIbu/n4/sfO8yfH5KNiC8b9rJfnYn7O3/D9QWVfEHBHyUB80hZEPt55f2J4HCW0Z6Dgny3Ukt4JowpyMnte+1zj5PFk7W9trU2PnzKcgbq5IK7ck45zwTC50g= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1712442882964654.6186100814608; Sat, 6 Apr 2024 15:34:42 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rtEav-0003Ns-5M; Sat, 06 Apr 2024 18:33:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rtEat-0003NQ-Cm for qemu-devel@nongnu.org; Sat, 06 Apr 2024 18:33:03 -0400 Received: from mail-pg1-x533.google.com ([2607:f8b0:4864:20::533]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rtEar-0006hI-Qi for qemu-devel@nongnu.org; Sat, 06 Apr 2024 18:33:03 -0400 Received: by mail-pg1-x533.google.com with SMTP id 41be03b00d2f7-5d3907ff128so2806936a12.3 for ; Sat, 06 Apr 2024 15:33:01 -0700 (PDT) Received: from stoup.. (098-147-007-212.res.spectrum.com. [98.147.7.212]) by smtp.gmail.com with ESMTPSA id f23-20020a17090ace1700b002a20c0dcebbsm3643279pju.31.2024.04.06.15.32.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 06 Apr 2024 15:33:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1712442780; x=1713047580; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=huPDBBhYc/g4B/wyxsCiRcrglSPPFxdW6/Rpm03HcSo=; b=kONFEQ4y5iwAb3rt2Q6Wlc18pqdSqTPWD/QcIz6ichYzohOijEdcwPfOoOWqSqSQMl RlsW6H5yST21p9U8/+6+JMqJEbQMx4ZLUXqGDNlElpqym1ic4OFGBn8tjPk7VVlPouL1 AOdcT0yynzL2x3EKH8IfibXSPkeRKbhUuVneCkn+bOXro9zDHnDjq8SotaCgKIPjmCQH LDk/dBbl0HSqN1Zi86qRKXVptsRLRMLROenqrgdhrOH1+/Hca78nwIJfC4v5X8Xse2Wn GQpbYHHzYuWngzv1NaoyysbLHgl8UYPLJyRw2fqKZGKbi2gq276fo6SuOeRrD6YZTrOp 9LrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712442780; x=1713047580; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=huPDBBhYc/g4B/wyxsCiRcrglSPPFxdW6/Rpm03HcSo=; b=a0uP4XkJtG7kYbK9cutxDLtN9cl37FOqCb9lZAakZUH3ms2BpsnS4Jo87W2Svkud6M MDzqp8l9RjQ+BPzle4QlABGPxkYQdaN43rIIFmH81DDpInoFF+h8vvSSQHgfv5NmxDi+ l2UdQjum6r/BcqQc+vNePI8g1twl7wiJfYQW+zHu/8076KIs0NTf18Iy5SfA22YGlRtD JQo8tA32FZ/hplsF0EvcmB+EJKQ6uNp60H5ZPQVnQ4MpL+YJHY3ttsYrNqgtlAd8rl+y mCknvlGD+jTom+nEScn+UN9UUFEhW7jMKeCPfCri4ww2Z6DX2tgCSso7WTerJQ2PQUEf FPHA== X-Gm-Message-State: AOJu0YxQmlCDeY0BG0rVcCZ85OxFemj0y7Ns5XjhjP/zk3fAQyt3Yq0W z8OPLnr8KIkvqGECVL7+uWjCNJCp8OjEHZECqZjZjS63KtOWkwzgWpp+3+l09sqsbB8NMP+OGYa L X-Google-Smtp-Source: AGHT+IGEa0Av52jCbBtMbWWy9iMQU8BOTXVPB447WkmKSEkAq9y1mG0gRgVU8ut5HYzGH/9FPhpsNw== X-Received: by 2002:a05:6a20:5518:b0:1a7:5b43:326d with SMTP id ko24-20020a056a20551800b001a75b43326dmr426867pzb.22.1712442780564; Sat, 06 Apr 2024 15:33:00 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: peter.maydell@linaro.org, Jorgen.Hansen@wdc.com, Jonathan.Cameron@huawei.com, linux-cxl@vger.kernel.org Subject: [PATCH 5/9] target/i386: Preserve DisasContextBase.insn_start across rewind Date: Sat, 6 Apr 2024 12:32:44 -1000 Message-Id: <20240406223248.502699-6-richard.henderson@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240406223248.502699-1-richard.henderson@linaro.org> References: <20240406223248.502699-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer2=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::533; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x533.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer2=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer2=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1712442885343100003 Content-Type: text/plain; charset="utf-8" When aborting translation of the current insn, restore the previous value of insn_start. Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: J=C3=B8rgen Hansen --- target/i386/tcg/translate.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/target/i386/tcg/translate.c b/target/i386/tcg/translate.c index 07f642dc9e..76a42c679c 100644 --- a/target/i386/tcg/translate.c +++ b/target/i386/tcg/translate.c @@ -139,6 +139,7 @@ typedef struct DisasContext { TCGv_i64 tmp1_i64; =20 sigjmp_buf jmpbuf; + TCGOp *prev_insn_start; TCGOp *prev_insn_end; } DisasContext; =20 @@ -3123,6 +3124,7 @@ static bool disas_insn(DisasContext *s, CPUState *cpu) /* END TODO */ s->base.num_insns--; tcg_remove_ops_after(s->prev_insn_end); + s->base.insn_start =3D s->prev_insn_start; s->base.is_jmp =3D DISAS_TOO_MANY; return false; default: @@ -6995,6 +6997,7 @@ static void i386_tr_insn_start(DisasContextBase *dcba= se, CPUState *cpu) DisasContext *dc =3D container_of(dcbase, DisasContext, base); target_ulong pc_arg =3D dc->base.pc_next; =20 + dc->prev_insn_start =3D dc->base.insn_start; dc->prev_insn_end =3D tcg_last_op(); if (tb_cflags(dcbase->tb) & CF_PCREL) { pc_arg &=3D ~TARGET_PAGE_MASK; --=20 2.34.1 From nobody Fri May 17 06:30:35 2024 Delivered-To: importer2@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1712442857; cv=none; d=zohomail.com; s=zohoarc; b=Y1KwhA5daUSevxjmy8WthwHpHBvMPwOHq/Snl6MZ/ABG5Crsi3xo4uBHGbGmu9Rl5F1U4SU0GyEtP8KjyUbj3MzJLT6ry1tmFBANCf7az14OYrMHq0usstQU2NhairEsDw30oD9RGawQPUBJC2BbAM+7WCZ2tqggDHlSrOHaiO0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1712442857; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=XUzNX9wVB6qbDLCwM/K8CjqXVmj1FUosoEHWX0Cy0rY=; b=LRVhzwuvQPC4mOCEurKFAy+5HElWDSLz3lNIKDsWMZCBDcDH2h9X4c2u+i6KBdsl/FdqP/tCBjg5s4DBJrKjV0npllFhm//1DUhT/rvvVITlhks71yeaAu8F/V6CsNVDbPrRfjQPDO2mJeDEZ6OvrcFcWW5/bPbEnFq97GN1Y9w= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1712442857784365.7394574324758; Sat, 6 Apr 2024 15:34:17 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rtEaw-0003O6-4D; Sat, 06 Apr 2024 18:33:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rtEau-0003Ni-TA for qemu-devel@nongnu.org; Sat, 06 Apr 2024 18:33:04 -0400 Received: from mail-oo1-xc33.google.com ([2607:f8b0:4864:20::c33]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rtEat-0006if-EA for qemu-devel@nongnu.org; Sat, 06 Apr 2024 18:33:04 -0400 Received: by mail-oo1-xc33.google.com with SMTP id 006d021491bc7-5aa27dba8a1so175023eaf.0 for ; Sat, 06 Apr 2024 15:33:03 -0700 (PDT) Received: from stoup.. (098-147-007-212.res.spectrum.com. [98.147.7.212]) by smtp.gmail.com with ESMTPSA id f23-20020a17090ace1700b002a20c0dcebbsm3643279pju.31.2024.04.06.15.33.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 06 Apr 2024 15:33:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1712442782; x=1713047582; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=XUzNX9wVB6qbDLCwM/K8CjqXVmj1FUosoEHWX0Cy0rY=; b=NCF8Bx48+UG3ilgO8Mg6b7O/agyUyY+qQhQCL06Kay8OXyz4An29hzmk5ATbFgk0xp acO/um8hCDMJyvqWsX1ArTVHXqDC7gKOYD4Hj7m26+f4J1yGn+NaV4Gn8Dzq+4lXkhKo CFyQKaiPZnhAmZQOwbgyGkgpr9u6ZVmQF+DDtYL97Ectlbs6WQKDckICWIqseFauaMi5 MzfDnGL0npXXyFJsk7kqDaXAGyARX/he2rH3/rnjD3FR+/7ktK442Yy5e5W/dsgPj5uK WxYU8UUPtVVm2ttcMZAGIPEWfHiE0hwQ0VfgWKA6Xm7D5Tkx7j9V2X75EHjnzO6FHc3u yJpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712442782; x=1713047582; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=XUzNX9wVB6qbDLCwM/K8CjqXVmj1FUosoEHWX0Cy0rY=; b=EEnSNA5PKQqjc4WunT6zJqa5W/IhvaXkqZxvJ9E4bs2+JI8U/itsJ+srt49Amya/Yc 1lRakESqSFWRowFuiOxlzyvfPjuyYFGpXopvh0+AR5BrxM0P8sFekN+tlhWBrAi7hqcb uW3OPLYfj1CUaiCgCs3BtF3OOh+GdpEimaSc8K3ctu74IPx3e1Z7EodwAl2yyJS2tsyK uo0j0ObRe07FUOYXTd5Sfk7b1ZrGYpmooj0vM3aO5hvojNfSMTFplen2nFPzz2KhdG8W Tu8EIL6TNr2Pv92JYxaGbshU5trz96LEEb5GVgc2zDbj4UCc6uObJCHo7xSOWtK6gVyU 84MA== X-Gm-Message-State: AOJu0YyQjbDkRiupwNDQt3WyEKe8yCJdhdYE+o4bqBfoaWeikLSsdrr9 rDo/8+p0DxlqwVMEfPPgxfbhHGPzp5PlkiXWY7QKN0n1WB/033ABcVtJAOTlsLHyxnWCXmmdeCJ R X-Google-Smtp-Source: AGHT+IHo2yLEETdAst9o5o1IGSNTCzGyLb/wyHFihxgL403DK8gVFtTMbMP8D6raA8o6AFRUJW/UPg== X-Received: by 2002:a05:6358:7a8e:b0:17c:263a:5b8e with SMTP id f14-20020a0563587a8e00b0017c263a5b8emr6804018rwg.14.1712442782138; Sat, 06 Apr 2024 15:33:02 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: peter.maydell@linaro.org, Jorgen.Hansen@wdc.com, Jonathan.Cameron@huawei.com, linux-cxl@vger.kernel.org Subject: [PATCH 6/9] target/microblaze: Use insn_start from DisasContextBase Date: Sat, 6 Apr 2024 12:32:45 -1000 Message-Id: <20240406223248.502699-7-richard.henderson@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240406223248.502699-1-richard.henderson@linaro.org> References: <20240406223248.502699-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer2=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::c33; envelope-from=richard.henderson@linaro.org; helo=mail-oo1-xc33.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer2=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer2=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1712442859240100007 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- target/microblaze/translate.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/target/microblaze/translate.c b/target/microblaze/translate.c index 4e52ef32db..fc451befae 100644 --- a/target/microblaze/translate.c +++ b/target/microblaze/translate.c @@ -62,9 +62,6 @@ typedef struct DisasContext { DisasContextBase base; const MicroBlazeCPUConfig *cfg; =20 - /* TCG op of the current insn_start. */ - TCGOp *insn_start; - TCGv_i32 r0; bool r0_set; =20 @@ -699,14 +696,14 @@ static TCGv compute_ldst_addr_ea(DisasContext *dc, in= t ra, int rb) static void record_unaligned_ess(DisasContext *dc, int rd, MemOp size, bool store) { - uint32_t iflags =3D tcg_get_insn_start_param(dc->insn_start, 1); + uint32_t iflags =3D tcg_get_insn_start_param(dc->base.insn_start, 1); =20 iflags |=3D ESR_ESS_FLAG; iflags |=3D rd << 5; iflags |=3D store * ESR_S; iflags |=3D (size =3D=3D MO_32) * ESR_W; =20 - tcg_set_insn_start_param(dc->insn_start, 1, iflags); + tcg_set_insn_start_param(dc->base.insn_start, 1, iflags); } #endif =20 @@ -1624,7 +1621,6 @@ static void mb_tr_insn_start(DisasContextBase *dcb, C= PUState *cs) DisasContext *dc =3D container_of(dcb, DisasContext, base); =20 tcg_gen_insn_start(dc->base.pc_next, dc->tb_flags & ~MSR_TB_MASK); - dc->insn_start =3D tcg_last_op(); } =20 static void mb_tr_translate_insn(DisasContextBase *dcb, CPUState *cs) --=20 2.34.1 From nobody Fri May 17 06:30:35 2024 Delivered-To: importer2@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1712442836; cv=none; d=zohomail.com; s=zohoarc; b=CryUDI+9JE62SpGWJDW8bH8BDvHJnDyM1UjCQanTEfclHG58dDpMKUZtDV4WQLYfBXNvwOBQoLtlbfElbMJzFV5t+ITGv3KrGKYDSlnl43FdFyWYIArOmJGjiLjkbwglkdTnk5gwjGH80D29m1rMlYtX9sSj2fWLiUxtwCe/YvM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1712442836; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=5EK613jOMt0q5YKINPHaRaY+PjrWQT7TxkM34vbcqwA=; b=QB9wYAyGMNqTDfQQ817qYpVXAO5RqTGzt9mlAZ7agvy6embQ/DpXhBjJUfxsXSEsEPdbk3olTXgHCtq2CINbGbbo/BENc0uOSQg3OILaUtwHXmHoZOkBbDtuVCX1hIc/8Wq9D6uP/8KcOIVQ1n0/CG2/kIRgmpx6Wk91E5VnLG4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1712442836061745.0599597585018; Sat, 6 Apr 2024 15:33:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rtEay-0003Oy-TB; Sat, 06 Apr 2024 18:33:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rtEaw-0003OL-HQ for qemu-devel@nongnu.org; Sat, 06 Apr 2024 18:33:06 -0400 Received: from mail-pg1-x52c.google.com ([2607:f8b0:4864:20::52c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rtEav-0006jw-3P for qemu-devel@nongnu.org; Sat, 06 Apr 2024 18:33:06 -0400 Received: by mail-pg1-x52c.google.com with SMTP id 41be03b00d2f7-517ab9a4a13so2769479a12.1 for ; Sat, 06 Apr 2024 15:33:04 -0700 (PDT) Received: from stoup.. (098-147-007-212.res.spectrum.com. [98.147.7.212]) by smtp.gmail.com with ESMTPSA id f23-20020a17090ace1700b002a20c0dcebbsm3643279pju.31.2024.04.06.15.33.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 06 Apr 2024 15:33:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1712442783; x=1713047583; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=5EK613jOMt0q5YKINPHaRaY+PjrWQT7TxkM34vbcqwA=; b=a6iP+T6rk6iAIhM7d8wsEfyJ9b8hoWyphLncgP0F3l5RAtfzFhS7lSX5B4Egvd5xia izFMpUn7jTYbDA1f8nPSx9CnZS8F+ExY7ghF6pkjZCczIcsPZZCHRCZ+fmTimKWb4bYk iDaTMphD7594Fvs/wJwpN8g5i8psT1dOaodlGdzfj9IIwpP7cYSE56N0saFkrSaIVMU5 K6AAMdluwVvj2Lo5GFtbUAggv722x92Y06xNwQIyjspKYoQZf0Jr8dYMPxuPGTAfcYXG uBsz8VMGS1WP95GvLRljKtKtVS5OPm4XtN5+UQ3O93sej16DE9FYXT3VviWzrGbX27tL LOuw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712442783; x=1713047583; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5EK613jOMt0q5YKINPHaRaY+PjrWQT7TxkM34vbcqwA=; b=hi8HQrwodOzJ0UtFAVyJ2hT4DtizfbBVZAzd4ckq38LJNyEkRPXlNx95X+e0uy827H dmk7idJb8TG1Ju9ejpenNoaIPdoU3ret6GWsC/ksWkcY8OPgpR0403dRB3LV1035+H8H qe2xrmaR7wjYI3V63d0hKJH7Yc+3BbkxoD/ZHyNJL6Ek+u1i9tKDvta8mMkywNlKrpGx v48n6h+QwnH/zYt00U6ZWVwa7TGQpnvN0gw7P9PqWCBQtx8+5htaMKN14SeiVoClX9gX f4Pce6KG9OuX+HM2pmlM4Sz48EGaPjp9BPwGMYDRwM/H3dUVH8XH7q7BJG2JjYrCgfoN M1mA== X-Gm-Message-State: AOJu0YxBWGSHfIDlRviekjwd5q3oXoxjyPa+KNFPdnnJTuxdIyeOcbPD 042X9+lxYHJsuNOk3U5AkjBpsS+Wm5QiX34AAF4Ydv3c+Rmq0Cvxms0mimcUIRnq6GBP+/xMzGI C X-Google-Smtp-Source: AGHT+IGy+KLMAwHUSM52vBzPht35ASNrL/VNKIbtrWp2B0kUGRZYRnvr8HGuhMxp9ffDQHEtdbUDuw== X-Received: by 2002:a05:6a21:8182:b0:1a7:5706:9b96 with SMTP id pd2-20020a056a21818200b001a757069b96mr966857pzb.38.1712442783698; Sat, 06 Apr 2024 15:33:03 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: peter.maydell@linaro.org, Jorgen.Hansen@wdc.com, Jonathan.Cameron@huawei.com, linux-cxl@vger.kernel.org Subject: [PATCH 7/9] target/riscv: Use insn_start from DisasContextBase Date: Sat, 6 Apr 2024 12:32:46 -1000 Message-Id: <20240406223248.502699-8-richard.henderson@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240406223248.502699-1-richard.henderson@linaro.org> References: <20240406223248.502699-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer2=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::52c; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x52c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer2=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer2=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1712442837277100007 Content-Type: text/plain; charset="utf-8" To keep the multiple update check, replace insn_start with insn_start_updated. Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- target/riscv/translate.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/target/riscv/translate.c b/target/riscv/translate.c index 9d57089fcc..9ff09ebdb6 100644 --- a/target/riscv/translate.c +++ b/target/riscv/translate.c @@ -115,8 +115,7 @@ typedef struct DisasContext { bool itrigger; /* FRM is known to contain a valid value. */ bool frm_valid; - /* TCG of the current insn_start */ - TCGOp *insn_start; + bool insn_start_updated; } DisasContext; =20 static inline bool has_ext(DisasContext *ctx, uint32_t ext) @@ -207,9 +206,9 @@ static void gen_check_nanbox_s(TCGv_i64 out, TCGv_i64 i= n) =20 static void decode_save_opc(DisasContext *ctx) { - assert(ctx->insn_start !=3D NULL); - tcg_set_insn_start_param(ctx->insn_start, 1, ctx->opcode); - ctx->insn_start =3D NULL; + assert(!ctx->insn_start_updated); + ctx->insn_start_updated =3D true; + tcg_set_insn_start_param(ctx->base.insn_start, 1, ctx->opcode); } =20 static void gen_pc_plus_diff(TCGv target, DisasContext *ctx, @@ -1224,7 +1223,7 @@ static void riscv_tr_insn_start(DisasContextBase *dcb= ase, CPUState *cpu) } =20 tcg_gen_insn_start(pc_next, 0); - ctx->insn_start =3D tcg_last_op(); + ctx->insn_start_updated =3D false; } =20 static void riscv_tr_translate_insn(DisasContextBase *dcbase, CPUState *cp= u) --=20 2.34.1 From nobody Fri May 17 06:30:35 2024 Delivered-To: importer2@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1712442870; cv=none; d=zohomail.com; s=zohoarc; b=UVR3qaokN2r/awsNUVZhCIpq08bwg+NhDI1QOPjpeGxbuQSvNGZBUCBZ0DSkcorq1MIC+cfAMpM3Zdur7HknQpVFZJe2lzuGy4/iNpry4XFEpTJ+0fZpl3BAUxOMV0QCm6SsuLycz3E1nRPFSkDfveXP9xvi26fM/aCNUgXgSv8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1712442870; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=NX9Ag++TnmEtIL49KdN8wfC5CW3UFh53IC9I9+TmU/s=; b=bjRbZv+Gy49hbMd4XK/py/Yt97GXi0NEIDC+U7nhOdbmenWjnb6yyxwwH9uD8yT7fQtAC74qMNC7gedknWwEpCZ6F+FkD4WZ1BoinhoX3dkOJaAPDMpXKO+zaqixSlw3/fpYNy8Y8BbBLi7wgk4MM4SHg0yHdzkhK/e/O3O+jeE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1712442870576381.31781005735047; Sat, 6 Apr 2024 15:34:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rtEaz-0003P1-Ea; Sat, 06 Apr 2024 18:33:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rtEay-0003OV-2J for qemu-devel@nongnu.org; Sat, 06 Apr 2024 18:33:08 -0400 Received: from mail-pj1-x1033.google.com ([2607:f8b0:4864:20::1033]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rtEaw-0006m8-Iw for qemu-devel@nongnu.org; Sat, 06 Apr 2024 18:33:07 -0400 Received: by mail-pj1-x1033.google.com with SMTP id 98e67ed59e1d1-2a2f007a33dso2160606a91.0 for ; Sat, 06 Apr 2024 15:33:06 -0700 (PDT) Received: from stoup.. (098-147-007-212.res.spectrum.com. [98.147.7.212]) by smtp.gmail.com with ESMTPSA id f23-20020a17090ace1700b002a20c0dcebbsm3643279pju.31.2024.04.06.15.33.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 06 Apr 2024 15:33:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1712442785; x=1713047585; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=NX9Ag++TnmEtIL49KdN8wfC5CW3UFh53IC9I9+TmU/s=; b=EofMBaj/Tqc1jReXhhRVJFkZz4yhAAEWlix6d8bhw86xTpA/o2NpXs4f2dBCR0fG7e vDTPHTVpyS6stFBtdnKBP/CzK9HfkRUaaS0qwScjUnGWevn0wqbeKf93eFhHEH/O+y8v jqInLSzKiL8tXWPKoerPb51Axr7B0QeeYMsr5PgXx1lmXYYWW0rmLMWoMhcO2UoIbVAp ih9TbxdW7ZGl6w9k35m7VUt/SYD2r6PmLGeY5uvzFm5izG+pXrRnedx7caGXUokK7RRe sFWXpUZ2bPkocLHucCZiYUiLeA+cLuoidOkz9V0CD35gVOlpMAn5uFgFK5O+ccIrfIog uUMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712442785; x=1713047585; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NX9Ag++TnmEtIL49KdN8wfC5CW3UFh53IC9I9+TmU/s=; b=XOyJWyJUd41QXYkLpFxbrXNSWup4bH7IcNxOmn0hxFrWMYQtIK1GXRuOmydw3GsjxN XrhRlziJ1P8lmG9nm6qlww5ui96k7Dp5PJ6ZhRpvQJpNXTCxK7a+SCPeUPwxiGqSgEcF yws8m8QcH7Tzx9uS3353cj5NbC5P1AJhbOIYFuPhuwvYymfLtUoktaRi/iEIUXrrzhPZ /5KIzYmK+EdkujSqgrMPpHQSbngNbjHhx6BWt/hRoBWhS64XOwEtyNiouppKCDjgrTZv 0Rg4oyqvdO7fr+GudSTz3o8O2tgrBRcCYNJWgEHpOsBvrN1m7mVCNP2jKj78Rm5XgT9l 4qpg== X-Gm-Message-State: AOJu0YyJxide5R8g7xiVZgR0DFezjKovHUper7Qkla+BtJuOefRkePp1 CwxDr4EoJSfHbiJ/Aug/VwmQxK2ZIfxiIRjEwcvT5mugUvuQ2rNyLaQXLfRVwlUq3CviuucUayo Y X-Google-Smtp-Source: AGHT+IHYOBkC/tVr9XQnUsLDf4qmmqdSuaXzPwppauLJh3EXu8d8scHM2yoGpW1A1RnyYZeBvN7EqQ== X-Received: by 2002:a17:90a:eb0f:b0:2a2:53a5:7559 with SMTP id j15-20020a17090aeb0f00b002a253a57559mr4607335pjz.38.1712442785243; Sat, 06 Apr 2024 15:33:05 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: peter.maydell@linaro.org, Jorgen.Hansen@wdc.com, Jonathan.Cameron@huawei.com, linux-cxl@vger.kernel.org Subject: [PATCH 8/9] target/s390x: Use insn_start from DisasContextBase Date: Sat, 6 Apr 2024 12:32:47 -1000 Message-Id: <20240406223248.502699-9-richard.henderson@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240406223248.502699-1-richard.henderson@linaro.org> References: <20240406223248.502699-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer2=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::1033; envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x1033.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer2=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer2=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1712442871454100005 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- target/s390x/tcg/translate.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/target/s390x/tcg/translate.c b/target/s390x/tcg/translate.c index 57b7db1ee9..90a74ee795 100644 --- a/target/s390x/tcg/translate.c +++ b/target/s390x/tcg/translate.c @@ -141,7 +141,6 @@ struct DisasFields { struct DisasContext { DisasContextBase base; const DisasInsn *insn; - TCGOp *insn_start; DisasFields fields; uint64_t ex_value; /* @@ -6314,7 +6313,7 @@ static DisasJumpType translate_one(CPUS390XState *env= , DisasContext *s) insn =3D extract_insn(env, s); =20 /* Update insn_start now that we know the ILEN. */ - tcg_set_insn_start_param(s->insn_start, 2, s->ilen); + tcg_set_insn_start_param(s->base.insn_start, 2, s->ilen); =20 /* Not found means unimplemented/illegal opcode. */ if (insn =3D=3D NULL) { @@ -6468,7 +6467,6 @@ static void s390x_tr_insn_start(DisasContextBase *dcb= ase, CPUState *cs) =20 /* Delay the set of ilen until we've read the insn. */ tcg_gen_insn_start(dc->base.pc_next, dc->cc_op, 0); - dc->insn_start =3D tcg_last_op(); } =20 static target_ulong get_next_pc(CPUS390XState *env, DisasContext *s, --=20 2.34.1 From nobody Fri May 17 06:30:35 2024 Delivered-To: importer2@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1712442835; cv=none; d=zohomail.com; s=zohoarc; b=nopfI9qKqLjon+kUDgYmJYCTjVEt9tW7q/5RSAQk5/y8MZTJvT9PcwWmrJ3HFFjQtTNSA/LtHtuRPnzv5APHdrvCxLWFJtis1g4cJeTZ5mrR8vWMJrMmmxidL8SLDRiqEzmP6osFIcekNUtTEUngILhNqlI6CptPfXSNu2hvG0A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1712442835; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=hCcliQok5xWZ0STL9q8OCOy2kMXMLfgS8Bx/eIbiktU=; b=EWnjw4mPN45aJvw3DmaSN/MaZTBeMHroUHsJSfwoWzwsvhlZNgG+0MagR4cE2M52yUyRCqz0tn6sOc8UffqBPiffdKZq5GCT5Au83ctoz0do4GMtWCtqNR8/JjOXLFK8wL3cViQ4L9nlJC4femwIjaq1BHso6khB4NuOUe9W4Rc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1712442835937535.7389920953722; Sat, 6 Apr 2024 15:33:55 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rtEb3-0003Pp-R9; Sat, 06 Apr 2024 18:33:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rtEb0-0003PO-Cb for qemu-devel@nongnu.org; Sat, 06 Apr 2024 18:33:10 -0400 Received: from mail-pf1-x434.google.com ([2607:f8b0:4864:20::434]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rtEay-0006mR-0U for qemu-devel@nongnu.org; Sat, 06 Apr 2024 18:33:09 -0400 Received: by mail-pf1-x434.google.com with SMTP id d2e1a72fcca58-6ecf406551aso2317933b3a.2 for ; Sat, 06 Apr 2024 15:33:07 -0700 (PDT) Received: from stoup.. (098-147-007-212.res.spectrum.com. [98.147.7.212]) by smtp.gmail.com with ESMTPSA id f23-20020a17090ace1700b002a20c0dcebbsm3643279pju.31.2024.04.06.15.33.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 06 Apr 2024 15:33:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1712442787; x=1713047587; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=hCcliQok5xWZ0STL9q8OCOy2kMXMLfgS8Bx/eIbiktU=; b=yW315/ndvN1TQiyQFXoffBOE6QtOh6i8LXzq55Ghum6MBqbyAkSzO/cV9nrJ0AQ+Ao hnEbRzsAOMjRO/muwdgRYJf2ZvqPxYmFC0b31P0mxoI+uJcbi7PQazVE+N/qPSeL8vZl j18+fjvdsry+5kwEyetiSdfDLcxmVRKptwC+MJcc42bkPVhMamETZu0CHJ+pWbF/lRal b+TjvzQLfN43OETYRTTCL9ay8/m4FwBOwF1x5eKNToZJNLx8LhC2BLkb5QbyV4jBni/5 6c39lZ8jzpRYaTStvrKZMSJa+WpAqlKjQpwLP2UMXOMvCqvat+dmJQN6oM2gcEO0pawA IBeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712442787; x=1713047587; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hCcliQok5xWZ0STL9q8OCOy2kMXMLfgS8Bx/eIbiktU=; b=ZCewJefSvejz9ri7LydgyBwkcX2oWuyW88h0bPAI63JKCfzY3AzBM8vmo0ALDOWtvs gEbT+tlRlmR+0A1cbXe55qOLy7kaQ9uvZbVjnf6t7XgneDDKmefC1CQJIVStHCe3sIVe Ecwwyy1JHPdlk7YCikWxP6GNlBjNlSg06ifibDHNIQhSr1nRkDfv5WgfPNR6d/7ExOGR yCmeNWB4rSqFX/xQar9SRJ975IHF7inWazqicg0SpdtlkkSo92pWhZxXCN+J5OfItM9Q NRivpTRQG6ei+eZM0I/2PJO0Sx66Rd7lc90AqLRVqK8G/wnhI1xgIMHFZhQmj2a+WTn4 dzow== X-Gm-Message-State: AOJu0YzOvqM+mGEYvwJ8/QzNM9ch97IX6I7O+D2Y8gsiAQRubqZYlG/p 9tMQjpXZqT/rFD3Mwl/L+JbiB7xVep008H4IQQcHCk/lJhSgveJuMZIMTELFKv0Jo8wVpDiJ2oo 8 X-Google-Smtp-Source: AGHT+IE3AVR0/+mC7iIHHm48lOL1fFr3ZCxMScSe1UR5cKptDMhugGenVanhfxi8QfNUctRI3pzpeQ== X-Received: by 2002:a05:6a20:158c:b0:1a7:1c26:f9ac with SMTP id h12-20020a056a20158c00b001a71c26f9acmr6020296pzj.62.1712442786698; Sat, 06 Apr 2024 15:33:06 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: peter.maydell@linaro.org, Jorgen.Hansen@wdc.com, Jonathan.Cameron@huawei.com, linux-cxl@vger.kernel.org Subject: [PATCH 9/9] accel/tcg: Improve can_do_io management Date: Sat, 6 Apr 2024 12:32:48 -1000 Message-Id: <20240406223248.502699-10-richard.henderson@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240406223248.502699-1-richard.henderson@linaro.org> References: <20240406223248.502699-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer2=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::434; envelope-from=richard.henderson@linaro.org; helo=mail-pf1-x434.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer2=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer2=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1712442837299100009 We already attempted to set and clear can_do_io before the first and last insns, but only used the initial value of max_insns and the call to translator_io_start to find those insns. Now that we track insn_start in DisasContextBase, and now that we have emit_before_op, we can wait until we have finished translation to identify the true first and last insns and emit the sets of can_do_io at that time. This fixes case of a translation block which crossed a page boundary, and for which the second page turned out to be mmio. In this case we truncate the block, and the previous logic for can_do_io could leave a block with a single insn with can_do_io set to false, which would fail an assertion in cpu_io_recompile. Reported-by: J=C3=B8rgen Hansen Signed-off-by: Richard Henderson Reviewed-by: Gregory Price Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: J=C3=B8rgen Hansen --- include/exec/translator.h | 1 - accel/tcg/translator.c | 45 ++++++++++++++++++++------------------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/include/exec/translator.h b/include/exec/translator.h index ceaeca8c91..2c4fb818e7 100644 --- a/include/exec/translator.h +++ b/include/exec/translator.h @@ -87,7 +87,6 @@ typedef struct DisasContextBase { int num_insns; int max_insns; bool singlestep_enabled; - int8_t saved_can_do_io; bool plugin_enabled; struct TCGOp *insn_start; void *host_addr[2]; diff --git a/accel/tcg/translator.c b/accel/tcg/translator.c index ae61c154c2..9de0bc34c8 100644 --- a/accel/tcg/translator.c +++ b/accel/tcg/translator.c @@ -18,20 +18,14 @@ =20 static void set_can_do_io(DisasContextBase *db, bool val) { - if (db->saved_can_do_io !=3D val) { - db->saved_can_do_io =3D val; - - QEMU_BUILD_BUG_ON(sizeof_field(CPUState, neg.can_do_io) !=3D 1); - tcg_gen_st8_i32(tcg_constant_i32(val), tcg_env, - offsetof(ArchCPU, parent_obj.neg.can_do_io) - - offsetof(ArchCPU, env)); - } + QEMU_BUILD_BUG_ON(sizeof_field(CPUState, neg.can_do_io) !=3D 1); + tcg_gen_st8_i32(tcg_constant_i32(val), tcg_env, + offsetof(ArchCPU, parent_obj.neg.can_do_io) - + offsetof(ArchCPU, env)); } =20 bool translator_io_start(DisasContextBase *db) { - set_can_do_io(db, true); - /* * Ensure that this instruction will be the last in the TB. * The target may override this to something more forceful. @@ -84,13 +78,6 @@ static TCGOp *gen_tb_start(DisasContextBase *db, uint32_= t cflags) - offsetof(ArchCPU, env)); } =20 - /* - * cpu->neg.can_do_io is set automatically here at the beginning of - * each translation block. The cost is minimal, plus it would be - * very easy to forget doing it in the translator. - */ - set_can_do_io(db, db->max_insns =3D=3D 1); - return icount_start_insn; } =20 @@ -129,6 +116,7 @@ void translator_loop(CPUState *cpu, TranslationBlock *t= b, int *max_insns, { uint32_t cflags =3D tb_cflags(tb); TCGOp *icount_start_insn; + TCGOp *first_insn_start =3D NULL; bool plugin_enabled; =20 /* Initialize DisasContext */ @@ -139,7 +127,6 @@ void translator_loop(CPUState *cpu, TranslationBlock *t= b, int *max_insns, db->num_insns =3D 0; db->max_insns =3D *max_insns; db->singlestep_enabled =3D cflags & CF_SINGLE_STEP; - db->saved_can_do_io =3D -1; db->insn_start =3D NULL; db->host_addr[0] =3D host_pc; db->host_addr[1] =3D NULL; @@ -159,6 +146,9 @@ void translator_loop(CPUState *cpu, TranslationBlock *t= b, int *max_insns, *max_insns =3D ++db->num_insns; ops->insn_start(db, cpu); db->insn_start =3D tcg_last_op(); + if (first_insn_start =3D=3D NULL) { + first_insn_start =3D db->insn_start; + } tcg_debug_assert(db->is_jmp =3D=3D DISAS_NEXT); /* no early exit = */ =20 if (plugin_enabled) { @@ -171,10 +161,6 @@ void translator_loop(CPUState *cpu, TranslationBlock *= tb, int *max_insns, * done next -- either exiting this loop or locate the start of * the next instruction. */ - if (db->num_insns =3D=3D db->max_insns) { - /* Accept I/O on the last instruction. */ - set_can_do_io(db, true); - } ops->translate_insn(db, cpu); =20 /* @@ -207,6 +193,21 @@ void translator_loop(CPUState *cpu, TranslationBlock *= tb, int *max_insns, ops->tb_stop(db, cpu); gen_tb_end(tb, cflags, icount_start_insn, db->num_insns); =20 + /* + * Manage can_do_io for the translation block: set to false before + * the first insn and set to true before the last insn. + */ + if (db->num_insns =3D=3D 1) { + tcg_debug_assert(first_insn_start =3D=3D db->insn_start); + } else { + tcg_debug_assert(first_insn_start !=3D db->insn_start); + tcg_ctx->emit_before_op =3D first_insn_start; + set_can_do_io(db, false); + } + tcg_ctx->emit_before_op =3D db->insn_start; + set_can_do_io(db, true); + tcg_ctx->emit_before_op =3D NULL; + if (plugin_enabled) { plugin_gen_tb_end(cpu, db->num_insns); } --=20 2.34.1