From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 94BCDFA372A for ; Fri, 2 Jan 2026 11:22:07 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vbdDu-0004Pq-6Y; Fri, 02 Jan 2026 06:21:38 -0500 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 1vbdDe-0004HW-67 for qemu-arm@nongnu.org; Fri, 02 Jan 2026 06:21:25 -0500 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vbdDa-00077S-Vq for qemu-arm@nongnu.org; Fri, 02 Jan 2026 06:21:20 -0500 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-42fb2314f52so6725463f8f.0 for ; Fri, 02 Jan 2026 03:21:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1767352877; x=1767957677; darn=nongnu.org; h=content-transfer-encoding:mime-version:message-id:date:user-agent :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ZvkHfIXU49/3sbrKLDzfPPfC2Fy/Qln7AT3KBtF5Ow4=; b=F8LVbCST2ANyVr9cY1plK8owv8+RFhat1Ah2AWPOrAcnxd1yDtqtmNgJafAu4R8lr8 dA/dHKuPXKffbhsQprGilgP4W+hR+aQks0Ez82cm5RU+UxUlwbGOYMrgNNZ/q8iNV42L iApchyi1zGvvyxMeaz5VYXO0n3QpHW8ZF5m8tNjJ0iKJNNZSKQIp4oq/xtoygCi/LT5I DUTWfk+wCvhQge2mXhXz0Cafcv4xP7PnVaOXv8vKrnBOL0UvCAQ0dK2NTKiV3SnWqFFf SIgl1+BF7EEYMD2+KcVtboDjDjOmjapmLGEIUmqWJiUE6oV+H45H/p2rzM5uGCeeM9nX Vi4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767352877; x=1767957677; h=content-transfer-encoding:mime-version:message-id:date:user-agent :references:in-reply-to:subject:cc:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=ZvkHfIXU49/3sbrKLDzfPPfC2Fy/Qln7AT3KBtF5Ow4=; b=wCrOCg16PzwmdvXMNWqj/M2ct5XeYMDVrOF9bKwsknSfgY0U3FQIfpIkQs5h7Bus3P qji63lClTQu/ddEbDgngmgrhW507Zky5XnFQgkAWNxgSO7vIfWvSoQj1ChdEue9UoYNz y96MPloRn8ajb9OePV5+X+pNSRH0EFcQz4wHwS3wN50YPFzp7AKIo6y20o1zNjNXLsvf sQaq4W0BUb+vEXyNOd5PBf9gmWw+oIHZyyHHOsKP4EL2GE85UGoizDYZlePleKngOgil ZXcp2U7t/HX7OVLPBgwkIEDYedAZDKT0tkGWCy3D6LkXwIn8h/sQfKjHe5HEfLyiUfGn vtAw== X-Gm-Message-State: AOJu0YzO6t9AXVFYe/1PRd1sZpH0RUUeDOvM0lA1QiLhD9IWaX/jq5UO dzN/TJc98D1cs4t1wgRtVMpNM2MZDdvZvhFor8nYdEuBKdk23Pij1XCgo0UeMM7iJmM= X-Gm-Gg: AY/fxX4mThO2krXf1sdBMc8rYfXbNhHQuA6wAk5d47JUE/2l8Q8PE1oOjnN3wqSvORd E8TRa+eJO85O/UbHLeLaL/XGWp4CQyaB+naG4sNQCeDh8Hrf6liRlLupozy9d1CsEJYRTUU8u2g OOfpYWzpK+QTBqOO+8xMJ8D3KApKDEqvR459M1irmLuC7pvrDX1hnyztmn6o5RTKVBKE8SBfwkG bPH4gUW3AVkWrnTly2SZl4IXHN+IdRItocb/qzOktIalS0c81+mRz8fW/EaE8zmzIfxC2OA2zg3 D/IQrrsvj86VromgjmO5SKXIfrTs8KbcJyocMWOeovC0LLJLjsIlpH0RLkCKqMNvfDCJ/M2eyBf vUToKpa7F6ee5xtLToZcShAolyuOJ4ROHmtY3qFEQVagAZNyIK5Vpzreajdq9J60MpURkBVWrsR Gaq2oN9lcLKaqGU9UR6hYaWg== X-Google-Smtp-Source: AGHT+IEaudZ3WJISNHjxxwgftzOGv2KnTO99iCQyXWJHMX793HgnUgy17bTrZG9vUfVl1w652K+mpg== X-Received: by 2002:a05:6000:2002:b0:431:2b2:9629 with SMTP id ffacd0b85a97d-4324e709588mr54249014f8f.51.1767352877471; Fri, 02 Jan 2026 03:21:17 -0800 (PST) Received: from draig.lan ([185.126.160.19]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4324ea1b1bdsm83387899f8f.8.2026.01.02.03.21.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 02 Jan 2026 03:21:16 -0800 (PST) Received: from draig (localhost [IPv6:::1]) by draig.lan (Postfix) with ESMTP id 415FF5F7FE; Fri, 02 Jan 2026 11:21:16 +0000 (GMT) From: =?utf-8?Q?Alex_Benn=C3=A9e?= To: Peter Maydell Cc: qemu-arm@nongnu.org, qemu-devel@nongnu.org, qemu-stable@nongnu.org Subject: Re: [PATCH 3/4] target/arm: Correctly trap HCR.TID1 registers in v7A In-Reply-To: <20251231170858.254594-4-peter.maydell@linaro.org> (Peter Maydell's message of "Wed, 31 Dec 2025 17:08:57 +0000") References: <20251231170858.254594-1-peter.maydell@linaro.org> <20251231170858.254594-4-peter.maydell@linaro.org> User-Agent: mu4e 1.12.14; emacs 30.1 Date: Fri, 02 Jan 2026 11:21:16 +0000 Message-ID: <87tsx4w98z.fsf@draig.linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=2a00:1450:4864:20::42b; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x42b.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-arm@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-arm-bounces+qemu-arm=archiver.kernel.org@nongnu.org Sender: qemu-arm-bounces+qemu-arm=archiver.kernel.org@nongnu.org Peter Maydell writes: > In v7A HCR.TID1 is defined to trap for TCMTR, TLBTR, REVIDR and AIDR. > We incorrectly use an accessfn for REVIDR and AIDR that only traps on > v8A cores. Fix this by collapsing access_aa64_tid1() and > access_aa32_tid1() together and never doing a check for v8 vs v7. > > The accessfn is also used for SMIDR_EL1, which is fine as this > register is AArch64 only. > > Cc: qemu-stable@nongnu.org > Signed-off-by: Peter Maydell > --- > target/arm/helper.c | 24 +++++++----------------- > 1 file changed, 7 insertions(+), 17 deletions(-) > > diff --git a/target/arm/helper.c b/target/arm/helper.c > index c4f73eb3f3..0896e90965 100644 > --- a/target/arm/helper.c > +++ b/target/arm/helper.c > @@ -924,8 +924,8 @@ static uint64_t isr_read(CPUARMState *env, const ARMC= PRegInfo *ri) > return ret; > } >=20=20 > -static CPAccessResult access_aa64_tid1(CPUARMState *env, const ARMCPRegI= nfo *ri, > - bool isread) > +static CPAccessResult access_tid1(CPUARMState *env, const ARMCPRegInfo *= ri, > + bool isread) > { > if (arm_current_el(env) =3D=3D 1 && (arm_hcr_el2_eff(env) & HCR_TID1= )) { > return CP_ACCESS_TRAP_EL2; > @@ -934,16 +934,6 @@ static CPAccessResult access_aa64_tid1(CPUARMState *= env, const ARMCPRegInfo *ri, > return CP_ACCESS_OK; > } >=20=20 > -static CPAccessResult access_aa32_tid1(CPUARMState *env, const ARMCPRegI= nfo *ri, > - bool isread) > -{ > - if (arm_feature(env, ARM_FEATURE_V8)) { > - return access_aa64_tid1(env, ri, isread); > - } > - > - return CP_ACCESS_OK; > -} > - This logic makes more sense from the descriptions compared to 2/4. Reviewed-by: Alex Benn=C3=A9e --=20 Alex Benn=C3=A9e Virtualisation Tech Lead @ Linaro