From nobody Mon Feb 9 09:33:37 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 1500439769554999.9177033958215; Tue, 18 Jul 2017 21:49:29 -0700 (PDT) Received: from localhost ([::1]:59859 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dXgvQ-0008B0-ES for importer@patchew.org; Wed, 19 Jul 2017 00:49:28 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39504) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dXgrj-0004aw-II for qemu-devel@nongnu.org; Wed, 19 Jul 2017 00:45:42 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dXgrf-0006ag-Qq for qemu-devel@nongnu.org; Wed, 19 Jul 2017 00:45:39 -0400 Received: from mail-pf0-x244.google.com ([2607:f8b0:400e:c00::244]:32932) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dXgrf-0006aM-Al for qemu-devel@nongnu.org; Wed, 19 Jul 2017 00:45:35 -0400 Received: by mail-pf0-x244.google.com with SMTP id e199so5068270pfh.0 for ; Tue, 18 Jul 2017 21:45:35 -0700 (PDT) Received: from bigtime.twiddle.net (14-203-207-215.tpgi.com.au. [14.203.207.215]) by smtp.gmail.com with ESMTPSA id y5sm8570526pge.38.2017.07.18.21.45.31 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 18 Jul 2017 21:45:33 -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=9wjYMABW10s8ot6Dn69LZSglWywx9eG5LER7fEqX6Zk=; b=HJvgCD2ikp0JTmXWqoS/u1l1XQJ3qasev77bqJq7Eq8Tb7OT0PB/eZMVgVlj4KO8Be EpLE6O9h5nHV62QO2oCiMc5mpPm/rZlTUjHEs1sUkH/RoqN4jaf6ewRTQ2MAAiQZ7Q8t M5xpoOTQqSUk1cCBv9hk7wFxRfSSeQ2uKrpp3nAf74rCtPLJtUTxdVJqHBmo1zApHQfL nbeKhTcS1hO1wlgB2QBSW6DIY9D4EyCEQg0wa5GELrcM85K129crw/ONXdVKECf1iAcu VfB1UydqLequP5u5HeJ5yx5D8NenVe6yoSKkrAWpN1bXa5UWlj91cGnfM223IuHFyH2R sj/g== 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=9wjYMABW10s8ot6Dn69LZSglWywx9eG5LER7fEqX6Zk=; b=nKhEzUc+OC21ecIgBukBMByOBEHClKBEvo92NvDElKD0NhBdsF/2tvc5xwqf6uuBBA 8QTHe2C0gQ3ENP2W/uA5FuhaHli1HHkdEt6ANC1JaLJQbGy7YpBpupDP875u7TocI2SO ZjmgikmZlxFTB3hgrUYUog9cAYwX1OXvOhlVl3LKx2LokAd85WRxXOWDKoDxWALOQ3lH TByK6iW+GOa6Rgm+PpmpVF5QyZVozqtl1t0d0epCLd/OUTf/COGdKrp+uRJnx9Wc95tx 3GuQ6OQFUdVGopb1h/r/IXVCAyK/+M4eY+YACuv3kfbIX1MnKuh/AYzNpoeBzHs0gThM fAGQ== X-Gm-Message-State: AIVw1100/97zDAPTa15Wa+jevupMI9ypHr9a4KU2BjngCogD7XZbYt5M CqAqzHkmbAk8PyfSadU= X-Received: by 10.99.115.8 with SMTP id o8mr1173421pgc.38.1500439534214; Tue, 18 Jul 2017 21:45:34 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Tue, 18 Jul 2017 18:45:16 -1000 Message-Id: <20170719044522.21114-3-rth@twiddle.net> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170719044522.21114-1-rth@twiddle.net> References: <20170719044522.21114-1-rth@twiddle.net> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400e:c00::244 Subject: [Qemu-devel] [PULL 2/8] target/alpha: Copy tb->flags into DisasContext 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@linaro.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" Tested-by: Emilio G. Cota Signed-off-by: Richard Henderson --- target/alpha/translate.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/target/alpha/translate.c b/target/alpha/translate.c index 4a627fc..48be19a 100644 --- a/target/alpha/translate.c +++ b/target/alpha/translate.c @@ -49,6 +49,7 @@ struct DisasContext { #ifndef CONFIG_USER_ONLY uint64_t palbr; #endif + uint32_t tbflags; int mem_idx; =20 /* implver and amask values for this CPU. */ @@ -452,7 +453,7 @@ static ExitStatus gen_store_conditional(DisasContext *c= tx, int ra, int rb, static bool in_superpage(DisasContext *ctx, int64_t addr) { #ifndef CONFIG_USER_ONLY - return ((ctx->tb->flags & TB_FLAGS_USER_MODE) =3D=3D 0 + return ((ctx->tbflags & TB_FLAGS_USER_MODE) =3D=3D 0 && addr >> TARGET_VIRT_ADDR_SPACE_BITS =3D=3D -1 && ((addr >> 41) & 3) =3D=3D 2); #else @@ -1167,7 +1168,7 @@ static ExitStatus gen_call_pal(DisasContext *ctx, int= palcode) =20 #ifndef CONFIG_USER_ONLY /* Privileged PAL code */ - if (palcode < 0x40 && (ctx->tb->flags & TB_FLAGS_USER_MODE) =3D=3D 0) { + if (palcode < 0x40 && (ctx->tbflags & TB_FLAGS_USER_MODE) =3D=3D 0) { TCGv tmp; switch (palcode) { case 0x01: @@ -1258,7 +1259,7 @@ static ExitStatus gen_call_pal(DisasContext *ctx, int= palcode) uint64_t exc_addr =3D ctx->pc; uint64_t entry =3D ctx->palbr; =20 - if (ctx->tb->flags & TB_FLAGS_PAL_MODE) { + if (ctx->tbflags & TB_FLAGS_PAL_MODE) { exc_addr |=3D 1; } else { tcg_gen_movi_i64(tmp, 1); @@ -1452,7 +1453,7 @@ static ExitStatus gen_mtpr(DisasContext *ctx, TCGv vb= , int regno) =20 #define REQUIRE_TB_FLAG(FLAG) \ do { \ - if ((ctx->tb->flags & (FLAG)) =3D=3D 0) { \ + if ((ctx->tbflags & (FLAG)) =3D=3D 0) { \ goto invalid_opc; \ } \ } while (0) @@ -2932,6 +2933,7 @@ void gen_intermediate_code(CPUAlphaState *env, struct= TranslationBlock *tb) =20 ctx.tb =3D tb; ctx.pc =3D pc_start; + ctx.tbflags =3D tb->flags; ctx.mem_idx =3D cpu_mmu_index(env, false); ctx.implver =3D env->implver; ctx.amask =3D env->amask; @@ -2941,7 +2943,7 @@ void gen_intermediate_code(CPUAlphaState *env, struct= TranslationBlock *tb) ctx.ir =3D cpu_std_ir; #else ctx.palbr =3D env->palbr; - ctx.ir =3D (tb->flags & TB_FLAGS_PAL_MODE ? cpu_pal_ir : cpu_std_ir); + ctx.ir =3D (ctx.tbflags & TB_FLAGS_PAL_MODE ? cpu_pal_ir : cpu_std_ir); #endif =20 /* ??? Every TB begins with unset rounding mode, to be initialized on --=20 2.9.4