From nobody Mon Dec 15 21:27:45 2025 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751922066; cv=none; d=zohomail.com; s=zohoarc; b=I3npKOYMyGDa2yVkSDd9wt+JJGbK1PK2cjJwo4hq9J7HeD1r2rVxJ2Xf592C9SIs4df42SO35/fu8dNIorJnbwufQm6IP88S+u15iRtBWX81h6KLMiNPvs6CJ7C/z26MIBNecQCIc0Y8/F72MYr34x9hq6JoQIHJjha2of9oLWo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751922066; 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=jc2oN7irUyYl9X7QOUlSFDFaLc2q7UiRV+m8B2csJtc=; b=FmIA+fg3JLsq6YtK08/HBMWTFBwDBDJeHSAaB71ERTqricYb8ebZ2396pX7Acfmi63Qdj1MfG772BUh6PpmIh1ErKPOjB1Tm8+rXVY/H9O+KCanrduXDTE+XmOce3KHrz93ud9vhcG0+1pAQO47m+L9VTMoxoc0IhNG3OCGTOA8= 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+importer=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 1751922066862994.0884175742628; Mon, 7 Jul 2025 14:01:06 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uYsxF-0005qE-NX; Mon, 07 Jul 2025 17:00:57 -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 1uYsL3-0005F6-Cm for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:28 -0400 Received: from mail-qt1-x82e.google.com ([2607:f8b0:4864:20::82e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uYsL0-0004Fv-J5 for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:20 -0400 Received: by mail-qt1-x82e.google.com with SMTP id d75a77b69052e-4a9bf46adedso14008201cf.2 for ; Mon, 07 Jul 2025 13:21:17 -0700 (PDT) Received: from stoup.. ([172.58.142.143]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4a994a78dd4sm69050351cf.51.2025.07.07.13.21.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 13:21:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751919676; x=1752524476; 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=jc2oN7irUyYl9X7QOUlSFDFaLc2q7UiRV+m8B2csJtc=; b=cx62i4ah8zTMhBYuDcectY9D9PP4+RcTDVZxt7OFWgL2izUa3F4Rcvs5juBB2JLpq4 7PaebbydouGh37fBMWXlskc2gIIzsitihkaCTVrBUHRHK9JqhA7zL4musbxjUJZOX1MY FFdLwtwMmv6FttbNNYdl/sf1Q1C8RHUU6XrYz2vfZHZWcB2XlQlmJ7HCfVp+Cuxke9vp 01oinG/Do35aECgD7E4vDRiS+PFb84ZwBseSGseK5pqG3aBvlqxXYdpopSk6rQeC8OkY J6qzaofGHgrgpGRRtl+PToYnov5VTJ2884N3v3+BBm3O8l9dFQ+VDvDdWYu0OhNqrxHw TG9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751919676; x=1752524476; 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=jc2oN7irUyYl9X7QOUlSFDFaLc2q7UiRV+m8B2csJtc=; b=xMOnL6G3mkC7czXiWPAHMrHbo+p909CP0DF8OQ4iRfE5kUte3mCSrdcPBg8z6WItfZ YnpOXGWZYyCoNjOE2SpH3xqhhv3/wRLlEjsuQKYcjXYRxJSmiK+6qrFqNoS7bCNge0f4 q5IIc7pzAXNHGn0B6zMfSoWfz2kXPM6bvGTdzQO1wU7gGKSHc0sDM98H7uryGbavTYTN qwIP5kI04dchUQWLt/aUuL5pztmp90JRGo3Om5baSEFJlG+Dk+4r/4A59iVLxu1yWsNu zt7yPpOATy9JytWvR78T/TPFwzjplnuIFV6stZxDb5L1L2MF+6pYrIsWQcFG7WJFjxmw WTkw== X-Gm-Message-State: AOJu0YxeQAY4O0+FvdqCZDzSFkcQX9ygJ9aWeLd3rvopev5+c4RnUOfF wAnjy/Uz3T3yA+t8cI6ewCTR5oD3GZ5eWsBHc75Jp4nspal0yF8d/b/Uf0P2ZMqK/EEgsPk/7wU FXR6TbZ0= X-Gm-Gg: ASbGncvGY819NXD774If0OL+76nwsDfwgstl5jEgU1Yp673v70yPlDHfU2NIL14oY4v xT15R19Un8i/Q9pPlA3STILYDWt6l3h99197JFCAv9roHnMvp3xgVs2HytrdkTBdQzm80x0SesC KHIGF53g51Tr2SOhSQTX8V6+VRIT64BqRrcIlxjKK2InowTakDA87NWG7S7rcjVN92ukN0tEAGG TMARXTDyEl/XdQxE5n4a8ElsE+VpuZQ05DsxQvnxHqC0sPdF8sAgBIVAVsR+a4UcalXQO3C9oWS 02Wv50Xk7ADNen9lY2Imwz6XtCvKCW8qF/PvxCpkuOftIBlVpbABvHq1r7RZ05fRCDmmFogLVRQ GpnIGnIM9zfXVSIap X-Google-Smtp-Source: AGHT+IGhza7YbWOCfWAOzvKZyRCkyo7i9yuD4JzgHHcoFlXcZtVZhr47fHurAKIOB0g/PNWjAKluyw== X-Received: by 2002:a05:622a:410c:b0:4a6:ef77:3deb with SMTP id d75a77b69052e-4a99881e795mr219551371cf.40.1751919676605; Mon, 07 Jul 2025 13:21:16 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 01/20] target/arm: Convert get_phys_addr_v5 to access_perm Date: Mon, 7 Jul 2025 14:20:52 -0600 Message-ID: <20250707202111.293787-2-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250707202111.293787-1-richard.henderson@linaro.org> References: <20250707202111.293787-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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::82e; envelope-from=richard.henderson@linaro.org; helo=mail-qt1-x82e.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751922068565116600 Content-Type: text/plain; charset="utf-8" Begin conversion of get_phys_addr and all subroutines from MMUAccessType to a mask of required permissions. Notably, access_perm may be 0 in order to disable the permissions check. Signed-off-by: Richard Henderson --- target/arm/ptw.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/target/arm/ptw.c b/target/arm/ptw.c index 561bf2678e..760387b4da 100644 --- a/target/arm/ptw.c +++ b/target/arm/ptw.c @@ -979,7 +979,7 @@ static int simple_ap_to_rw_prot(CPUARMState *env, ARMMM= UIdx mmu_idx, int ap) } =20 static bool get_phys_addr_v5(CPUARMState *env, S1Translate *ptw, - uint32_t address, MMUAccessType access_type, + uint32_t address, unsigned access_perm, GetPhysAddrResult *result, ARMMMUFaultInfo *f= i) { int level =3D 1; @@ -1089,7 +1089,7 @@ static bool get_phys_addr_v5(CPUARMState *env, S1Tran= slate *ptw, } result->f.prot =3D ap_to_rw_prot(env, ptw->in_mmu_idx, ap, domain_prot= ); result->f.prot |=3D result->f.prot ? PAGE_EXEC : 0; - if (!(result->f.prot & (1 << access_type))) { + if (access_perm & ~result->f.prot) { /* Access permission fault. */ fi->type =3D ARMFault_Permission; goto do_fault; @@ -3515,7 +3515,7 @@ static bool get_phys_addr_nogpc(CPUARMState *env, S1T= ranslate *ptw, regime_sctlr(env, mmu_idx) & SCTLR_XP) { return get_phys_addr_v6(env, ptw, address, access_type, result, fi= ); } else { - return get_phys_addr_v5(env, ptw, address, access_type, result, fi= ); + return get_phys_addr_v5(env, ptw, address, 1 << access_type, resul= t, fi); } } =20 --=20 2.43.0 From nobody Mon Dec 15 21:27:45 2025 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751922175; cv=none; d=zohomail.com; s=zohoarc; b=G6lELdZ8FeXX0EOe8d7gyIY3f6WB5AWZ7g+szWj4fIWPT/ATYyqaCvAHGr5vO7nF4Acv+jQcUjRpqptucmYUNQ9BxpPSNYX4nha2Dc/rTJXcIV3ihX0p1lMVLD8rDVui6YPsLvlj/Gcdk2oEDknTZ9PVa7Q8SmS+8wwkV3+EYjQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751922175; 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=LzMBUEbl+3VWF66SKBZpNZgDJtHw0n855alyoLGWaQs=; b=crMoudMCyxGMnxA06MlzOj3rlBLHd3hIfXosJOKi9uMr+X7rEh0YrWQ9+FmNFO3OOySZZEBDsfymEK9QyT+tqOY2rU23OsT5r3tbmOB6s3BQBLFkGSalFfVZLAXBcPwaN8qDC/FETROmSkiTy9HDkrqpbZoyE1hKbcqRMZNd3kM= 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+importer=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 175192217561488.17969007951933; Mon, 7 Jul 2025 14:02:55 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uYsyI-0007UI-Mr; Mon, 07 Jul 2025 17:01:54 -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 1uYsL8-0005Gk-5Z for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:29 -0400 Received: from mail-qk1-x72b.google.com ([2607:f8b0:4864:20::72b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uYsL2-0004GE-EW for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:25 -0400 Received: by mail-qk1-x72b.google.com with SMTP id af79cd13be357-7d9eac11358so25607585a.3 for ; Mon, 07 Jul 2025 13:21:19 -0700 (PDT) Received: from stoup.. ([172.58.142.143]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4a994a78dd4sm69050351cf.51.2025.07.07.13.21.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 13:21:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751919678; x=1752524478; 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=LzMBUEbl+3VWF66SKBZpNZgDJtHw0n855alyoLGWaQs=; b=fB9dquTq3WOahSBtWIYwUFaDJnKf0sUAtJILoTu7yGenyMSQa9Kfz9dPO2EIXq5996 2K2ej8JcKF5vW7BYZUp/iGbcxovR1WxBbmM4R0COceBZQlhZXkJzh3g/sgAaq7DMnx3R 0DVMV5TslFQ/voafukNnXr/ClBRXbc7KX311xpi9g33sRaL3g+Nz5OlEdiHVvYAhhSHo uGPFWPG3Xfp0QD4bbpGDK3ft/an4IK5d0XnzLhPCR6KCWmGl0omaDuTbRAQCeesPUfAk K2f5ziYXh67KYsovzf+sBhw4y9ceQ0zi0GxnIedcxQsMz0X9wSHhPIBpylafl4qqJy7j SxpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751919678; x=1752524478; 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=LzMBUEbl+3VWF66SKBZpNZgDJtHw0n855alyoLGWaQs=; b=B8dRYDi9PZGDmDtrNGEpugpAmJ7c3NwKz9h8En+xMvyt39N628NhLAAYHNt7MDbnWn fiaDCnzgEeW8dHGC64XaVaClzwa62SHoHfmiRYVnhMdwXU6Im3qtIOUMZdoFPspVBk5d vbG7LISmhYwbvyi+VMO88cTDoAV0UEBwdNIGQDZsHnTZ94Nxo2Qx9Bt7DZ5vUYKXml/M +ne3eZDwoQ4wqtHITeteo8ZdF9mAoTioez0ykVkmk0WjcfZVOR9IABa9gbrzRF+mfzZ/ ddjjBa/XIQGeczUuMQTw9YR+58dX3YBhrdfZVUhTaOB08xp1Ya5iEwgfcYCabqYOwRII EZfg== X-Gm-Message-State: AOJu0YyqPSTJadUXJQF8g0xHhwqjZ6NdRYF0q5J1H+4bjBBorxcrdzty Bgnt0gPkqj/K1Y+7UEJKDWZCNW0tGT2RaSKbe01ISdRi1aKuvizUAHDLoUZf6prpMuE2TMmRcVk qQCcXU18= X-Gm-Gg: ASbGncs+fHj8Ns6HmWZ6BXpaxcQ5iNL3BOU+70UB6OVOTOrOgFlykX3LrAPGBtxMCB/ OMWLUon+JMVaP6BbS/J0Lv8ze1W1iD/vPwB8AALzZUZcwpRAUidWeyFOHCMhDCzUfu8bGkw0zMG v1NlMcGZJ1K2l6PeE23VmlP8V7rrxq/jULFd5ihSkuKAgbdX63CUFBwMtb0tLuuKaUHOXB42e78 CS62bgHnhsQbJ0vouVuhd66+gDxkOVHP+UYcYe2Vx8UB76jBLWXDzxCGoulRB4H5g4OpIsLouct te4I/So/O7iiFflygWs0bFd+CzOO2nFFdsW7ArCHzMeEA5JeuGsV56ISO+BgABZ0SOOhSpr7rh+ keFxXiuUdYsszrj4Q X-Google-Smtp-Source: AGHT+IESCbZ3ukPiWIgaXRqsAEyQ1DIGhWLKyM9EvGHIfnry+3ZdbUVP5Mv9VqbF5afDc1LIDzPYNQ== X-Received: by 2002:a05:620a:4885:b0:7d3:8ba0:614f with SMTP id af79cd13be357-7da034a5a72mr70375585a.26.1751919678115; Mon, 07 Jul 2025 13:21:18 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 02/20] target/arm: Convert get_phys_addr_v6 to access_perm Date: Mon, 7 Jul 2025 14:20:53 -0600 Message-ID: <20250707202111.293787-3-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250707202111.293787-1-richard.henderson@linaro.org> References: <20250707202111.293787-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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::72b; envelope-from=richard.henderson@linaro.org; helo=mail-qk1-x72b.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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751922177878116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson --- target/arm/ptw.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/target/arm/ptw.c b/target/arm/ptw.c index 760387b4da..39ecc093a5 100644 --- a/target/arm/ptw.c +++ b/target/arm/ptw.c @@ -1103,7 +1103,7 @@ do_fault: } =20 static bool get_phys_addr_v6(CPUARMState *env, S1Translate *ptw, - uint32_t address, MMUAccessType access_type, + uint32_t address, unsigned access_perm, GetPhysAddrResult *result, ARMMMUFaultInfo *f= i) { ARMCPU *cpu =3D env_archcpu(env); @@ -1243,7 +1243,7 @@ static bool get_phys_addr_v6(CPUARMState *env, S1Tran= slate *ptw, =20 result->f.prot =3D get_S1prot(env, mmu_idx, false, user_rw, prot_r= w, xn, pxn, result->f.attrs.space, out_sp= ace); - if (!(result->f.prot & (1 << access_type))) { + if (access_perm & ~result->f.prot) { /* Access permission fault. */ fi->type =3D ARMFault_Permission; goto do_fault; @@ -3513,7 +3513,7 @@ static bool get_phys_addr_nogpc(CPUARMState *env, S1T= ranslate *ptw, memop, result, fi); } else if (arm_feature(env, ARM_FEATURE_V7) || regime_sctlr(env, mmu_idx) & SCTLR_XP) { - return get_phys_addr_v6(env, ptw, address, access_type, result, fi= ); + return get_phys_addr_v6(env, ptw, address, 1 << access_type, resul= t, fi); } else { return get_phys_addr_v5(env, ptw, address, 1 << access_type, resul= t, fi); } --=20 2.43.0 From nobody Mon Dec 15 21:27:45 2025 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751922120; cv=none; d=zohomail.com; s=zohoarc; b=Bd39kgPOVhTCH1bnm/hxETNJP4DiRJys8uUOH5QxDpIq89w6apshIYAwFKeKL9/3VwY3hs9m1iE9j2e67fZFAJSdokjlVB2CppMgBGZusTSjEt2gsSdJZ32696TU5NkIJ7x9UCmShXqtqGwiHzt1gBNC01CELCVBBOvHh2Y6cyw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751922120; 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=jkrYVJIhusUBoORiuozvI3ByiW8Rp/qSiQ54lRxVHfA=; b=DQ2JQ+1UzB7LVluNz5HWzj1JmBGWRv1DWqHnUsMdXk9s+5Zqxod8xwxMuIZf9DLsX6zLOFZz5flZMbn1hBFpoWClGKCehUroznGzHOg9Xgu9QfAeDSPmUuQzvUNbNxiBQ4noheTScFfuNFaBITrzn4ahuVfvWofFVsejh6yRs5g= 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+importer=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 1751922120543599.9646367969924; Mon, 7 Jul 2025 14:02:00 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uYsyC-0007EP-BP; Mon, 07 Jul 2025 17:01:52 -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 1uYsL7-0005Gf-M2 for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:29 -0400 Received: from mail-qt1-x82c.google.com ([2607:f8b0:4864:20::82c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uYsL4-0004Ga-Ih for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:25 -0400 Received: by mail-qt1-x82c.google.com with SMTP id d75a77b69052e-4a58ba6c945so50480551cf.2 for ; Mon, 07 Jul 2025 13:21:20 -0700 (PDT) Received: from stoup.. ([172.58.142.143]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4a994a78dd4sm69050351cf.51.2025.07.07.13.21.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 13:21:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751919680; x=1752524480; 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=jkrYVJIhusUBoORiuozvI3ByiW8Rp/qSiQ54lRxVHfA=; b=IAzJAOLPs4/9R8k+e4BqNLW4575fbW42tMiIvhmx2UEdn/ReeduOI+E1QJAS68laEe qf1iQ0IA7N7NlazvSPMwSCZoqQjp4MWhuScGru526m538vI/r+x1y2yYOcx57NYvwCN+ t0ulF591aerA4atcK4KqI9zkiJSVijnKw+PGCO1dcPQcfgkgtW2WnSgptfw0vi0Re/Tp 0sKTsaeTuaaz4K1kj5pQVHnp7o+pLF49E1y3knIpgabCrKLHjq6J7nXy2IrS7g86RNdv APYYQ2+hJDQTCc8ivDRXBUk6r/N144N0t1/Zmqqod3ZXb3XhVHVHvr9jicceRUmzjnK9 WkVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751919680; x=1752524480; 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=jkrYVJIhusUBoORiuozvI3ByiW8Rp/qSiQ54lRxVHfA=; b=jPnxyO5aGZcpZ6KJuWdXk7PW4d9seFCEqcJ16hzqDWCmoccWm1INn5XTilahKk/4Mp /jal/vChO3v3mbwjJqrR9poGZidj3WivENnVtaTpUWBcIBt8Vjb8mpclvLGjOMEkLCN6 b8+hP6HjmGd1ZRC9jwaYpqPB9VohOI+utP+w0kZux1W8qsJMm7AES7T6k3UQIwkkjJXN 89tWZRR2tcfh9s0NTJwy2KLmuXXF68CQcHVOlJDAomE9mHfSqwsObEOed42Wkb9hSXKt JLJWBWV4ZcPuU+YNOsnYU17tKXGjsVvdLLPfNww3xlMWZocZDYBS2PVuiv8VJnaL8VbT Km/Q== X-Gm-Message-State: AOJu0YxYdUkQ7oW9QZmh/ISS7uDJeRGrg06xVWby16H8l4m8HB6JFkq3 OaYNackmHDFZ4ntwd06c+ouxJPO3k1aanqP4zEdp3H5H6nHrGR+rVDU3VG+049ReNP0VBc1Bqu3 p1qay0N4= X-Gm-Gg: ASbGncvyhZjGNkBdSR6LY1GPprHWoE4rB09QWBnjW60MtgetaBafL7nWpSv2XvONym3 1qU20P07Z8zlChesQBMh3oHImBfr9tC/shVKAP5nNmt2WHNL+3zSwQK+0tcYM3v9jM/aplO6M+h rIG9FOb2m88mbhsDlS+bEYvJPm7nQddG5Ap52A7JMxSxGrlXvKQ9JmdkSR6h+psz6i7VNM2w6xr z4wOH7Jbski6zSqbuYFyxyw/8rUVtE8Rbq7C6LA+03WXL51YTKkVkJQo0P/B4C7CEQ90VWcnwu2 fENClsb7y9W73vvJFlsq7yp07PRMWHWDfbXbF+69Wo1+OGLIk4R75Iy7ecARtj/vztay8/g04Bi /5tLSbUDVI3qQRqQK X-Google-Smtp-Source: AGHT+IF0lew89TWHIdMr7nGTxlDU5q5tIU2Ocw6p11uz3XLTtxiPTN3mdlehWI3a4YWynYwyVcw6Tg== X-Received: by 2002:a05:622a:138c:b0:4a6:f3f7:4c28 with SMTP id d75a77b69052e-4a9964e3befmr218711521cf.17.1751919679932; Mon, 07 Jul 2025 13:21:19 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 03/20] target/arm: Convert get_phys_addr_lpae to access_perm Date: Mon, 7 Jul 2025 14:20:54 -0600 Message-ID: <20250707202111.293787-4-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250707202111.293787-1-richard.henderson@linaro.org> References: <20250707202111.293787-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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::82c; envelope-from=richard.henderson@linaro.org; helo=mail-qt1-x82c.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=unavailable 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751922121219116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson --- target/arm/ptw.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/target/arm/ptw.c b/target/arm/ptw.c index 39ecc093a5..7503d1de6f 100644 --- a/target/arm/ptw.c +++ b/target/arm/ptw.c @@ -1643,14 +1643,14 @@ static bool nv_nv1_enabled(CPUARMState *env, S1Tran= slate *ptw) * @env: CPUARMState * @ptw: Current and next stage parameters for the walk. * @address: virtual address to get physical address for - * @access_type: MMU_DATA_LOAD, MMU_DATA_STORE or MMU_INST_FETCH + * @access_perm: PAGE_{READ, WRITE, EXEC}, or 0 * @memop: memory operation feeding this access, or 0 for none * @result: set on translation success, * @fi: set to fault info if the translation fails */ static bool get_phys_addr_lpae(CPUARMState *env, S1Translate *ptw, uint64_t address, - MMUAccessType access_type, MemOp memop, + unsigned access_perm, MemOp memop, GetPhysAddrResult *result, ARMMMUFaultInfo = *fi) { ARMCPU *cpu =3D env_archcpu(env); @@ -1678,7 +1678,7 @@ static bool get_phys_addr_lpae(CPUARMState *env, S1Tr= anslate *ptw, int ps; =20 param =3D aa64_va_parameters(env, address, mmu_idx, - access_type !=3D MMU_INST_FETCH, + !(access_perm & PAGE_EXEC), !arm_el_is_aa64(env, 1)); level =3D 0; =20 @@ -1945,7 +1945,7 @@ static bool get_phys_addr_lpae(CPUARMState *env, S1Tr= anslate *ptw, */ if (param.hd && extract64(descriptor, 51, 1) /* DBM */ - && access_type =3D=3D MMU_DATA_STORE) { + && (access_perm & PAGE_WRITE)) { if (regime_is_stage2(mmu_idx)) { new_descriptor |=3D 1ull << 7; /* set S2AP[1] */ } else { @@ -2123,7 +2123,7 @@ static bool get_phys_addr_lpae(CPUARMState *env, S1Tr= anslate *ptw, result->f.tlb_fill_flags =3D 0; } =20 - if (!(result->f.prot & (1 << access_type))) { + if (access_perm & ~result->f.prot) { fi->type =3D ARMFault_Permission; goto do_fault; } @@ -3509,7 +3509,7 @@ static bool get_phys_addr_nogpc(CPUARMState *env, S1T= ranslate *ptw, } =20 if (regime_using_lpae_format(env, mmu_idx)) { - return get_phys_addr_lpae(env, ptw, address, access_type, + return get_phys_addr_lpae(env, ptw, address, 1 << access_type, memop, result, fi); } else if (arm_feature(env, ARM_FEATURE_V7) || regime_sctlr(env, mmu_idx) & SCTLR_XP) { --=20 2.43.0 From nobody Mon Dec 15 21:27:45 2025 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751922114; cv=none; d=zohomail.com; s=zohoarc; b=Qm5jvVp4NrTGM4o205J/n7qYAI2PZOwymn/xZK/4ppF0BtEiFJ7wpTDSOsl/m1EtYh0FOE6/m/6cBMBpYjRFprHhPj8E3V0QXzjJ0k4AHRd0XavyroKK0jchYNMqXFhURWmsKs6dINOO7EltsIA+Gd9cnXs4bCeZcrUdCyi+eus= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751922114; 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=jxsgUWQbY5ASUPXPwx0i/WLJ4Mhu4BV4cCyqG0Z6fig=; b=f/h8bMzRieSeAAwsBjvzOR5qiAhgW9f9k9I8K7M1MrItEmx0G0NE0O8T8Kq5P/bED+197XJgDMouz+BVUW0wWuHFK4hyeh2D8ox4uHC2lt2b3U8pAJeSe+IkGkSUFLqurFf0cULMTfGC7qz2elp/jT62ysKD2D7P8SfS5/Er0rA= 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+importer=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 1751922114535115.63455856729615; Mon, 7 Jul 2025 14:01:54 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uYsy6-0006xk-1Y; Mon, 07 Jul 2025 17:01:43 -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 1uYsL7-0005Ge-LR for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:29 -0400 Received: from mail-qt1-x836.google.com ([2607:f8b0:4864:20::836]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uYsL5-0004HD-Bc for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:25 -0400 Received: by mail-qt1-x836.google.com with SMTP id d75a77b69052e-4a44b3526e6so54790811cf.0 for ; Mon, 07 Jul 2025 13:21:22 -0700 (PDT) Received: from stoup.. ([172.58.142.143]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4a994a78dd4sm69050351cf.51.2025.07.07.13.21.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 13:21:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751919682; x=1752524482; 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=jxsgUWQbY5ASUPXPwx0i/WLJ4Mhu4BV4cCyqG0Z6fig=; b=bl3wPI+bo7iBmd/4rIjH/OfgpkJzm65UTkql6/6hBoCu+1GR7uKC69zSblZLjHfHH2 YUqVbeY/4kxD30h7+czt9Dqkzzq3KUlq2q7pD4RqTjLDR02pyoY5iNgSuAlFG4WPwvUb oMVIoxPrCeh/1UgdFFO4qQnL4HK+8ycD6JUH/x+AkX/BzcSMojjFmICDWqraHL9UWN9P 91AcRKYIL4m9fJTKm4mgXdzFgxtxzdTiQAJcU+TCpP0HYAJBfSU1ESVrOIN2FPOUoanN DlP3eNhqB+7JyKhf59siSqXBzoR4X7zNPVx+lSKdYPASsEqkgJMqz8XfcFa2FHMyuC3B RfaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751919682; x=1752524482; 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=jxsgUWQbY5ASUPXPwx0i/WLJ4Mhu4BV4cCyqG0Z6fig=; b=b3xR1mvz6DAYEeVRvzCxs2Mf55Sz7bKmA+4hvmt+UoRi/JdHrx+TbGI6fWVmmxH5+9 iGnzEQqtdFWmJ3mno/WeahtXCi/C8RyKf4JpDAD+F7x8Sv9+116R/uckvgyfJVgDXpBt 1zNgsRTiD7TkN5SQqeLMGXF1aI1paMfaskrJJpCeuoZKcOxc6iRx1xSB8bXSFGB++3OO MZsa8kmSAeG1UMfwMpq1ax1Lzhq41G+FJjDH+50n1DOwTZ/z2ABlZEU+vmojA3/a+Db1 tqdGmTXl16G4ym+xS0jgmOAjUlw6Eu8lOyo3oiRODsgoshhCraTt6xIb9S/yyiMjkN7I 9pFw== X-Gm-Message-State: AOJu0YzEJi3kLXjSNVoHHFv8EkyaWCCRphQ0+FRxnjdtwKDIKTDVw+Fa 0u51/HJynu1qP/spBT/ymHK7eNpydF6kic5SUzXvt5x5dNl01hNfQ3G3pZ25tmRV6MgfCFsXhtd NJAyDWcw= X-Gm-Gg: ASbGnctfSXH4GPYSTyqmSE/tZ7dBsoRVp9E0VRKOPL3yW5bSEoZyIU4kXRFYMkNay8O dFTpb9CXPHOfF1EsEgSNV6kFJbLWEq429C6n/ENJ5YPPrwPpRVIp2TjzbJkqZOv86ntnSSRfqAy Gs+9Cav6tyZ/WsqB9Y7/6IoR9VRps9IF1HvsYdqPxxU5X3IPxANWHSTmF6T9wxPhkw5p9KOqjqF 4qgeHqUP2zqJhd5OiilbhWY7oilq3saxwk8ddK5XeQeuVrbeMB98JGjaIQiKUbOEhajH7gdhP9w UZpYOhxasr2KasHbssCayfspnPD4LRYnfQNy/4wSwTuT/dK0xbtyF9ZLcGLnxzsT1SqbcESHofg hU2TeundtO1Eb+6c+ X-Google-Smtp-Source: AGHT+IExKQL2znVnByclw1nVIw6sdSlZTVR593+58jvr8Wfq3eiZhURLMWNn7BtZsr7pijDwvFS/FQ== X-Received: by 2002:ac8:7d52:0:b0:4a7:f9ab:7899 with SMTP id d75a77b69052e-4a9ccc338a7mr9395711cf.35.1751919681966; Mon, 07 Jul 2025 13:21:21 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 04/20] target/arm: Convert get_phys_addr_pmsav5 to access_perm Date: Mon, 7 Jul 2025 14:20:55 -0600 Message-ID: <20250707202111.293787-5-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250707202111.293787-1-richard.henderson@linaro.org> References: <20250707202111.293787-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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::836; envelope-from=richard.henderson@linaro.org; helo=mail-qt1-x836.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751922117060116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson --- target/arm/ptw.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/target/arm/ptw.c b/target/arm/ptw.c index 7503d1de6f..adceeabfe4 100644 --- a/target/arm/ptw.c +++ b/target/arm/ptw.c @@ -2182,7 +2182,7 @@ static bool get_phys_addr_lpae(CPUARMState *env, S1Tr= anslate *ptw, static bool get_phys_addr_pmsav5(CPUARMState *env, S1Translate *ptw, uint32_t address, - MMUAccessType access_type, + unsigned access_perm, GetPhysAddrResult *result, ARMMMUFaultInfo *fi) { @@ -2218,7 +2218,7 @@ static bool get_phys_addr_pmsav5(CPUARMState *env, return true; } =20 - if (access_type =3D=3D MMU_INST_FETCH) { + if (access_perm & PAGE_EXEC) { mask =3D env->cp15.pmsav5_insn_ap; } else { mask =3D env->cp15.pmsav5_data_ap; @@ -3485,7 +3485,7 @@ static bool get_phys_addr_nogpc(CPUARMState *env, S1T= ranslate *ptw, result, fi); } else { /* Pre-v7 MPU */ - ret =3D get_phys_addr_pmsav5(env, ptw, address, access_type, + ret =3D get_phys_addr_pmsav5(env, ptw, address, 1 << access_ty= pe, result, fi); } qemu_log_mask(CPU_LOG_MMU, "PMSA MPU lookup for %s at 0x%08" PRIx32 --=20 2.43.0 From nobody Mon Dec 15 21:27:45 2025 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751921910; cv=none; d=zohomail.com; s=zohoarc; b=VEryeiPLf82rT1x3/MVH6LgnssVbBNWL1uk7uYl7tk+IYdgfTWq7FZ99NI6l/4if6Sivkzs2AKB6BRbHH9nqtMoHZmmAt0g21S8vFBasRHpXVhZH+jbLdLtGkYUb/Pww4jzF4eT6UAP9riDc74P5JdsiKQKK4Y+KK7FWmyggxlw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751921910; 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=Lcs5SBgIJAZ9jZMJeyubq/bXFbb8f0ayL+4aR6w4j6M=; b=VRCoIAF+mlokYZxdmNT3CCNiaZgX3fFSHL490sDLsk3Kp7nXR963NuDnK6ydKeof369pe87XTQhRfYBrPFzdX69KIcz6DqFO2Ut7Jdwbmz4rB+zp5ZzT10oYEZC3R2PH+j7hp4DF0tPM5+GVqiVs52fFPP4MCLq4QyS/CMOpveI= 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+importer=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 1751921910471173.84465094023028; Mon, 7 Jul 2025 13:58:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uYsuP-0003IH-Rx; Mon, 07 Jul 2025 16:57:53 -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 1uYsL9-0005H6-G2 for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:29 -0400 Received: from mail-qt1-x830.google.com ([2607:f8b0:4864:20::830]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uYsL7-0004Hl-U7 for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:27 -0400 Received: by mail-qt1-x830.google.com with SMTP id d75a77b69052e-4a9bff7fc6dso11457061cf.1 for ; Mon, 07 Jul 2025 13:21:25 -0700 (PDT) Received: from stoup.. ([172.58.142.143]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4a994a78dd4sm69050351cf.51.2025.07.07.13.21.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 13:21:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751919685; x=1752524485; 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=Lcs5SBgIJAZ9jZMJeyubq/bXFbb8f0ayL+4aR6w4j6M=; b=VQd3TNWpaRLCTmZLcjGW4ZdDabUazZCcHV28npaDeJCloScpsvIKaWzB7WKml60+XZ DIbxF/F+pEYZY5gEjUXGygAJrWurCeQ/GTlD8U7THVXSh2A1KI3ju1cbBuQ9vG0LeK+/ sYdhEShAzPBMpOYODTJSdVamrk1PId2znJF+RzZhkBvbmcHSMPBwclgS92qkZFztPGAV tJJkFme+jM98EpLAAdwN2lUSoYpJxplSTszbscDyM8riRxeAbx/6/nxR038ssPCOeOz5 IIC7+imBw337ijZFALn1TIxVV+67YC0Wn7l6tj0rjDA1zWxYpu0QI1N3lxc2pE6RDrdt ehQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751919685; x=1752524485; 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=Lcs5SBgIJAZ9jZMJeyubq/bXFbb8f0ayL+4aR6w4j6M=; b=Gmv6De/Qgor1mhcxRoRty59MUTfDYXAd3Ip9TQsgMdLm3nZT9KvQINvDLtL7dTDQzy vbuX8rEu2RsDUIsdgUXEyP3rp2hG+kiJ3S+aiw6UwRgh9QmpNZWV35z8W0qvP59aJ+4+ k4XoWNWPjqBJ+1j11ekRHjtvigpFuzNs3yeqgFhFFYCECnt4odNTfZjIXLv4pb9v1W2Z YgeErsXEy/d6FAB+DIEXZVthdCagu+f4MaKYZGsXPhcC0P5dQI2/RIdeKtcgLQrHzAxG 58kU+amzEqcl8kZIvsYtfAuYxCdJ+pbrQ973jCwu6mWeLR4ur4BbsWmz69OBWy6N3WcD k0aA== X-Gm-Message-State: AOJu0Yyh/dodTyP3R5z6i8IN4VH1K2luy0qWgDbg4i0SkOUTbSfUbEXk LB3C/6RCCGuBg8yEz810ouKsqNdNkUNSqA4VeG2okFCmCJvwWGMnCgJYVVjBNVqUHUhLfk1EW2A j8RZmgvc= X-Gm-Gg: ASbGncs6ORnvu3CVawAZYu7ZKbZynN9cBbhIKeGibaKRtSpUCE0o+0GH9b0gZox7YXY yip1THAnSBIjgNrgZ9F0Hay6wgfP1HRzZOV5sIuso2t2AXMsQqbe5WxAP2LTILZlyqPEstd7f6f xK0W2ieb0nMwoGDMSNcgtGM5zqQalyZfi3epGmwqrUly1C9lcM02VsYncNTRjID9UcLF6pTZAEn QBoPYf3SR7cCu4DqE+efqw7JWqgZ+CYhseieH9PyNCc32t2SxC9QUsrIpvzbrNehvAUYUxVsFem I0DIc/Shk0vuUBaNN2sMDsgA+Uj/UXuX4lRUn1vYCNYouvTg6Ya1Sy+DNi5xty/1F1WHvwqMx/e xRrMwlJijilen/PpT X-Google-Smtp-Source: AGHT+IHcg99kHdal5tT5OsSoG4UYiUxEru/PPPPhEfsILtDe01ysQKrZsFBEUkc5macndgt4cwjc0w== X-Received: by 2002:a05:622a:4109:b0:494:70e7:1528 with SMTP id d75a77b69052e-4a9ce6bba4emr476881cf.24.1751919684410; Mon, 07 Jul 2025 13:21:24 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 05/20] target/arm: Convert get_phys_addr_pmsav7 to access_perm Date: Mon, 7 Jul 2025 14:20:56 -0600 Message-ID: <20250707202111.293787-6-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250707202111.293787-1-richard.henderson@linaro.org> References: <20250707202111.293787-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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::830; envelope-from=richard.henderson@linaro.org; helo=mail-qt1-x830.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751921912377116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson --- target/arm/ptw.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/target/arm/ptw.c b/target/arm/ptw.c index adceeabfe4..b71c963f67 100644 --- a/target/arm/ptw.c +++ b/target/arm/ptw.c @@ -2350,7 +2350,7 @@ static bool pmsav7_use_background_region(ARMCPU *cpu,= ARMMMUIdx mmu_idx, static bool get_phys_addr_pmsav7(CPUARMState *env, S1Translate *ptw, uint32_t address, - MMUAccessType access_type, + unsigned access_perm, GetPhysAddrResult *result, ARMMMUFaultInfo *fi) { @@ -2537,7 +2537,7 @@ static bool get_phys_addr_pmsav7(CPUARMState *env, =20 fi->type =3D ARMFault_Permission; fi->level =3D 1; - return !(result->f.prot & (1 << access_type)); + return access_perm & ~result->f.prot; } =20 static uint32_t *regime_rbar(CPUARMState *env, ARMMMUIdx mmu_idx, @@ -3481,7 +3481,7 @@ static bool get_phys_addr_nogpc(CPUARMState *env, S1T= ranslate *ptw, result, fi); } else if (arm_feature(env, ARM_FEATURE_V7)) { /* PMSAv7 */ - ret =3D get_phys_addr_pmsav7(env, ptw, address, access_type, + ret =3D get_phys_addr_pmsav7(env, ptw, address, 1 << access_ty= pe, result, fi); } else { /* Pre-v7 MPU */ --=20 2.43.0 From nobody Mon Dec 15 21:27:45 2025 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751922307; cv=none; d=zohomail.com; s=zohoarc; b=YhdngDk9zmT53wTjxpDXOAX4bgrnJM0ctjhHDUhlLy6QCYfBlB5CljxKBQUFpvJsGpzidaJtvUi6H0mixjgtUqCRgXMAA5bu+Sa9RnXY51xUH1hAlf0SBz3B4beLArOz4uOmJ1zvAUeddivkHIbHxsVj8I8TzqVXLOJLpvDMNEM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751922307; 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=39P8VwpVLIfAbJ0MKK9p00r7QAC2cXfVTIDM3C9j734=; b=m9ccA2wd2KvwaZ3bzRtmcQQ/ZpCugGTFcD3FrsLaHr6I7p6fwraE3ta6OXP3v7En4fPMr0T4E/eDBqTsIe7B8dzjv21nEsPHfNzzezxCLAI6kTHK6kgYWFQ0LxdwkgYVz7RfhiWkVUCxFh1y6dVeZ8P39UjVGPMPTVldFsbczQU= 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+importer=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 175192230782625.88254542220693; Mon, 7 Jul 2025 14:05:07 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uYszJ-0000mj-UY; Mon, 07 Jul 2025 17:03:03 -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 1uYsLB-0005Hp-Gp for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:30 -0400 Received: from mail-qt1-x82d.google.com ([2607:f8b0:4864:20::82d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uYsL9-0004IX-K1 for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:29 -0400 Received: by mail-qt1-x82d.google.com with SMTP id d75a77b69052e-4a9741b513eso76887041cf.1 for ; Mon, 07 Jul 2025 13:21:27 -0700 (PDT) Received: from stoup.. ([172.58.142.143]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4a994a78dd4sm69050351cf.51.2025.07.07.13.21.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 13:21:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751919686; x=1752524486; 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=39P8VwpVLIfAbJ0MKK9p00r7QAC2cXfVTIDM3C9j734=; b=sF4H6B9zyYDdjs3QnoE2CKA0OvXwVseq+38UBpvLqWyLPdaeQZRUG6gvNSxH2WiY0j CetSDmDhVuAbynU6F6cijlCQYyNCPKlL0dbw8CP7Aw6Dg0e86L/0A9VmspXdJdySHDki 8Y5m/bjpnbKGd9zrqqhWW3NlsvfmE6gt0pZEphOOynkE6TyNDgxepi7rrnnYyQEgG0H/ EwHWYXjsaXH0eTCS9Zwk3kKyrdicfHeq73ZB9XghfmNWtMDmLS4zZ5Lxr9RIIlAK7t8Z l0nOCNgyPtwTqQvwzABkLUDJ0Lcw/sD1ISj8l1eyREmoeqSjV4d9SlEZ3S223If6dg4l XsJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751919686; x=1752524486; 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=39P8VwpVLIfAbJ0MKK9p00r7QAC2cXfVTIDM3C9j734=; b=Exl/qCd8rHnHGIs1jg2Y2FImlWUR8hOpkGSDeDRjoCURyHvAisujcA6ADSIqvnuNL8 QZyZa3Zq3/S15T25lziH0cwjany4zWuH1hjFbZBLtbA/VLlCxJrhmW6R19uUWVFeqw/m Q9kd6tzgaeLO8ErIBKyi5on22Q9CJ+NSkuMFDHbjjCJuj/nsCvYuAZNCWYQWlJKN3T/W pBvIpWbz9vdS5nj68/7+yZNKoywBxM/Qz61jNLlWuA4EZlIhOWBqrPgKHTaslXF3qrmE z9YrSR35RdXXnpsvidFVDUl8v4yrSodwYZjQ+oL+1M6JroeVaBfwvyHBA7UUMvwt6v6X SmBA== X-Gm-Message-State: AOJu0Yw19xC1tD8ZT39B4QLBcRakLXxKQTzBPpd2UghRA4pWNyCsPFjI 7GkrtilB0UqlxgNx5EVrcgHze2JaDrWE1lLn5miF6p6jvKogMcmpkxgB/qZu6vyhDrEb1DDrT6j yJ1BYB/8= X-Gm-Gg: ASbGncs5GgvuzQ3wuWla/0pJObcxnlx/CZoxbhVn39o8bazm2Pwy8wiX0FZoeejTTPS 2ctZj0U7AwYl3hXWkPQrC3eVmBfXWD+1l5CPf1F8HLHMXHihEW2P7y70d2FbIITHD2oW6AYOfO4 JHwcjL2lD/y5Dx/DgPULjitR4rodxyOyGDDua1Spj4/T2BsgviF00/MB7NVRVk2hhNXg44fCSY8 v113xbs2kWfoOm8OmjOrN3ywZu4WkLRbD0jZVg8DcfLP0c+el3woNoJSTbOaqXEpspUzXin2kcs qvh06HyDgKgJWX12YmooSCQkjGsGtauHP+obEckrRIS1lUO/L+QVPoCtJXqppAzg2SV+7UFv+67 FXKJPwwr3MBTzFsYW X-Google-Smtp-Source: AGHT+IHYn0BMjkKpe9MlSSuW87004TOHH0LyNw+ZiGNipRMRa1VpCvjECYgi5N87l4Rk8zaNGhPy2g== X-Received: by 2002:a05:622a:4e08:b0:4a4:3b41:916c with SMTP id d75a77b69052e-4a9cc6ad7femr12312151cf.17.1751919686264; Mon, 07 Jul 2025 13:21:26 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 06/20] target/arm: Convert pmsav8_mpu_lookup to access_perm Date: Mon, 7 Jul 2025 14:20:57 -0600 Message-ID: <20250707202111.293787-7-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250707202111.293787-1-richard.henderson@linaro.org> References: <20250707202111.293787-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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::82d; envelope-from=richard.henderson@linaro.org; helo=mail-qt1-x82d.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751922309797116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson --- target/arm/internals.h | 2 +- target/arm/ptw.c | 6 +++--- target/arm/tcg/m_helper.c | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/target/arm/internals.h b/target/arm/internals.h index c4765e4489..629aa7bc23 100644 --- a/target/arm/internals.h +++ b/target/arm/internals.h @@ -1606,7 +1606,7 @@ bool get_phys_addr_with_space_nogpc(CPUARMState *env,= vaddr address, __attribute__((nonnull)); =20 bool pmsav8_mpu_lookup(CPUARMState *env, uint32_t address, - MMUAccessType access_type, ARMMMUIdx mmu_idx, + unsigned access_perm, ARMMMUIdx mmu_idx, bool is_secure, GetPhysAddrResult *result, ARMMMUFaultInfo *fi, uint32_t *mregion); =20 diff --git a/target/arm/ptw.c b/target/arm/ptw.c index b71c963f67..a11df31b18 100644 --- a/target/arm/ptw.c +++ b/target/arm/ptw.c @@ -2561,7 +2561,7 @@ static uint32_t *regime_rlar(CPUARMState *env, ARMMMU= Idx mmu_idx, } =20 bool pmsav8_mpu_lookup(CPUARMState *env, uint32_t address, - MMUAccessType access_type, ARMMMUIdx mmu_idx, + unsigned access_perm, ARMMMUIdx mmu_idx, bool secure, GetPhysAddrResult *result, ARMMMUFaultInfo *fi, uint32_t *mregion) { @@ -2750,7 +2750,7 @@ bool pmsav8_mpu_lookup(CPUARMState *env, uint32_t add= ress, if (arm_feature(env, ARM_FEATURE_M)) { fi->level =3D 1; } - return !(result->f.prot & (1 << access_type)); + return access_perm & ~result->f.prot; } =20 static bool v8m_is_sau_exempt(CPUARMState *env, @@ -2952,7 +2952,7 @@ static bool get_phys_addr_pmsav8(CPUARMState *env, } } =20 - ret =3D pmsav8_mpu_lookup(env, address, access_type, mmu_idx, secure, + ret =3D pmsav8_mpu_lookup(env, address, 1 << access_type, mmu_idx, sec= ure, result, fi, NULL); if (sattrs.subpage) { result->f.lg_page_size =3D 0; diff --git a/target/arm/tcg/m_helper.c b/target/arm/tcg/m_helper.c index 6614719832..220a3b472f 100644 --- a/target/arm/tcg/m_helper.c +++ b/target/arm/tcg/m_helper.c @@ -2820,7 +2820,7 @@ uint32_t HELPER(v7m_tt)(CPUARMState *env, uint32_t ad= dr, uint32_t op) ARMMMUFaultInfo fi =3D {}; =20 /* We can ignore the return value as prot is always set */ - pmsav8_mpu_lookup(env, addr, MMU_DATA_LOAD, mmu_idx, targetsec, + pmsav8_mpu_lookup(env, addr, PAGE_READ, mmu_idx, targetsec, &res, &fi, &mregion); if (mregion =3D=3D -1) { mrvalid =3D false; --=20 2.43.0 From nobody Mon Dec 15 21:27:45 2025 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751922207; cv=none; d=zohomail.com; s=zohoarc; b=ZdlB7aeIdPxc0PNQWxa9uHfNUrCFJdVWPQNbHNXYD5abAdZyaQvKaNybDJV1LnDrJ4qv5t1A9h5F16Smm1MBPzIaX0OPVHjFVNfL8TElHMiwqJV+G+5HfPeFOAc4eNWIXwmlYRQcNEmlp5f4lcBCIy8S0ORtKfg/M1OP993ML5c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751922207; 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=s1deyp58YXRZuCAMqJMg6ysDvX/JkTOChz9F9ihpe1E=; b=lwebG9hMg+Yxb+knOjo0Tj5lza4bEI6ZVICqclJShBtBY2o58qLkhZ2FL5OAcvV1XloO87V+dfvGTk7ngvCLTDTEsbhEV7PnKWRfbeEXGbZFn+C81AkrT96uLGTnmxpLOHth+hamE3cxaodAsDJ3JgXdMUHYbNK4+0m+srsYxtE= 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+importer=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 175192220767490.47589891042503; Mon, 7 Jul 2025 14:03:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uYsyf-0008P2-3E; Mon, 07 Jul 2025 17:02:17 -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 1uYsLD-0005K9-8q for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:33 -0400 Received: from mail-qt1-x830.google.com ([2607:f8b0:4864:20::830]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uYsLB-0004J4-Bs for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:30 -0400 Received: by mail-qt1-x830.google.com with SMTP id d75a77b69052e-4a76ea97cefso37220071cf.2 for ; Mon, 07 Jul 2025 13:21:28 -0700 (PDT) Received: from stoup.. ([172.58.142.143]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4a994a78dd4sm69050351cf.51.2025.07.07.13.21.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 13:21:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751919688; x=1752524488; 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=s1deyp58YXRZuCAMqJMg6ysDvX/JkTOChz9F9ihpe1E=; b=vlSwKHKdg8E4snCmP8KUI5m0DkfUqheH3tZXRxxN7K1/kP8bgYvu2lKqW9zZFNR9+R sYSXG0Tb2YEq95Hj0ydF5zKGGXGfhAZlFJOowBVGs93qryBPwWRX7+XEpRreJosJyzFh 8OtF6bttZskMCRVfKfHmExvTmAqSZEgKyrCL7i6/0aHI247kdOt1YLiN+9CwKbhqn64v rjPoOXCijdEC0vT9M/abImBxhuJ4YJkvESErGZ8rP0eRAsRrWFYYB94BdAoQor9HcUt7 fn976Ce2/v+9CRTcIg3/7wItBzco3mAk8RQR0E2QKB3K/tA+X6CL4TlgQXq93WO9RSHt DY3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751919688; x=1752524488; 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=s1deyp58YXRZuCAMqJMg6ysDvX/JkTOChz9F9ihpe1E=; b=esbdtcz62D4M73PsPqi/oH0NLu7kUorr8Q4o8pYVnb1ABK8VwL3o/H01lbVtDag2eh 3mrn3m/bm6tcBd/HpydmMDJ28iNlHY5n7Bw5A8lSQFK1gL8R0aqTGHI9WtV3+9CFvhtR eDapwAueJQRMAE++i73hVxL0xjKdaIIVM62gqmu0Xx/mWJ6ENLyxZPbivycSroH8Q6Zx mQzrK4C/Dg+OYjjEqy7Uh2E/aPOmt3szYd6/sg8N4ZtWgjbp3LTXUwV9YSHnLKFXRkLh DbN2b5hRtJASoHB3oc+X2b6cDA0o6tyxn5w7HXyVRNilLo/mrVxAy1bVQZeVDt4vyzmV aj3Q== X-Gm-Message-State: AOJu0Ywv0FyxWFCduS6FQioB5tNFA/upue7M9K6faxraMYUntFih3qkD ZmOoMslQbN5vSAk01BqZnoJVkb54Wf5E339qse7wgypJm1pOhACxM5AkR6JdN6iOPvBXGz6kt0a DomjkllQ= X-Gm-Gg: ASbGncvY06g2u8t8rQ5lZgatE9mG2pFidvPmePkK/8sjnnXwxS3PqiGiVUl96j2FHk4 bc4eTUNGjCA5EBjmeW0jV4LZ+BZH/4ynpYFClbDTesC2aADV/e/ZLZfAIeiUD0djOQHia8/EZy+ OZ3XlCv+I9bIadpF4uHHw9ul6B2BwdeJvsV10lFOyGegkS8h3j2+39u0x8uHMqQF21ByLXq+NDv S64+sknXtjpM3BkjWWFZNV4Ugvh7zevwaLeDDRLEC/NnjXjpb21yc6G02qQ/bqcT88Aqda/fJWy ovjZse61EnP3+Bck7mfTAY1RR/rA02PeuVonhzWZ2s9/zLgWHVq1s4Fwy9Jp/w7oU9CS49P5TZT eqbfSKzrInmARUE9o X-Google-Smtp-Source: AGHT+IEaun/h1LCpUEneML7kuCxHjkR2cw6FFRicD2gM25663YyS52l8Fi2rMViX02q3ihGZzdsOQw== X-Received: by 2002:a05:622a:1a04:b0:4a9:b087:4075 with SMTP id d75a77b69052e-4a9b087423fmr118141091cf.2.1751919687989; Mon, 07 Jul 2025 13:21:27 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 07/20] target/arm: Convert v8m_is_sau_exempt to access_perm Date: Mon, 7 Jul 2025 14:20:58 -0600 Message-ID: <20250707202111.293787-8-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250707202111.293787-1-richard.henderson@linaro.org> References: <20250707202111.293787-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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::830; envelope-from=richard.henderson@linaro.org; helo=mail-qt1-x830.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751922208439116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson --- target/arm/ptw.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/target/arm/ptw.c b/target/arm/ptw.c index a11df31b18..78a9c21fab 100644 --- a/target/arm/ptw.c +++ b/target/arm/ptw.c @@ -2754,14 +2754,14 @@ bool pmsav8_mpu_lookup(CPUARMState *env, uint32_t a= ddress, } =20 static bool v8m_is_sau_exempt(CPUARMState *env, - uint32_t address, MMUAccessType access_type) + uint32_t address, unsigned access_perm) { /* * The architecture specifies that certain address ranges are * exempt from v8M SAU/IDAU checks. */ return - (access_type =3D=3D MMU_INST_FETCH && m_is_system_region(env, addr= ess)) || + ((access_perm & PAGE_EXEC) && m_is_system_region(env, address)) || (address >=3D 0xe0000000 && address <=3D 0xe0002fff) || (address >=3D 0xe000e000 && address <=3D 0xe000efff) || (address >=3D 0xe002e000 && address <=3D 0xe002efff) || @@ -2798,7 +2798,7 @@ void v8m_security_lookup(CPUARMState *env, uint32_t a= ddress, return; } =20 - if (idau_exempt || v8m_is_sau_exempt(env, address, access_type)) { + if (idau_exempt || v8m_is_sau_exempt(env, address, 1 << access_type)) { sattrs->ns =3D !is_secure; return; } --=20 2.43.0 From nobody Mon Dec 15 21:27:45 2025 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751922176; cv=none; d=zohomail.com; s=zohoarc; b=bcAoVzkFZ2VabwSk65DdHo64j5s2nfxd78XCD6w9v26snU4ydKs7YlMTJ2tR+0Mwxz7d99zl9dlT9zuxFK7jzWa0q2v/ygeUWrKvqzRD8boz8UYpidrms7PvtbzFEp/mRmZjmMUTyPZquMB1dKTe3AKOAYMknE/E+YmtYBCrxbg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751922176; 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=Q71VydINUJB4l7s4w8Ba4FQ4V0Afwv9Uv04JgcCuV6Y=; b=Fn1UahZFdMp2oNFgwohk9sxE2t4P7p3tNEFIdsGZTPmBgBYm3RfpjvOabPPxQF9QZIre1yqhTHPTkp6a+H0a4ecEor9WwrJqNZev20IeduT+H+HHTy88N4aDpELjujv6zowYmcJmhTKZFuTk1rLikxcmwPedhGNpntEZk3S4c38= 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+importer=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 1751922176778753.9047032256921; Mon, 7 Jul 2025 14:02:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uYsyM-0007tj-F4; Mon, 07 Jul 2025 17:01:58 -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 1uYsLF-0005Ka-77 for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:33 -0400 Received: from mail-qt1-x831.google.com ([2607:f8b0:4864:20::831]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uYsLD-0004JZ-0U for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:32 -0400 Received: by mail-qt1-x831.google.com with SMTP id d75a77b69052e-4a5840ec53dso44594501cf.0 for ; Mon, 07 Jul 2025 13:21:30 -0700 (PDT) Received: from stoup.. ([172.58.142.143]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4a994a78dd4sm69050351cf.51.2025.07.07.13.21.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 13:21:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751919690; x=1752524490; 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=Q71VydINUJB4l7s4w8Ba4FQ4V0Afwv9Uv04JgcCuV6Y=; b=yuDNzpv0cYHZrfeyE5/ztx6n+D2ucrGq5KKhmgcUKGkLCWPINPX9XcQQ9+LviyI0JR rIbEolxk5tC0GUe6MnnysouoBLzO5rvoYH8YU9iA1SKNRTyLGC73TPoutuO1SckdHfaZ 5zagOoWP0kTouKJO42W1DFP9A4si7PYOMa4iUAgozaLGnAlB3SUSfp1/lP0MkyQCZF1m YkynVD+VeYqWCgXS759FVBhad3DI0ZH51NZJGOpGI/LYUWApt1HmHnuBw4nWHoCwaGeI lPPHla7yhaP1opaHLnPbXPnwc3PX81pDZZNXoBTyGSMCUwlKOUslPQB5xwq4vBcpoGDj zxBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751919690; x=1752524490; 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=Q71VydINUJB4l7s4w8Ba4FQ4V0Afwv9Uv04JgcCuV6Y=; b=FWSLyRFmvNw2+PTzJUDj0rKVpf/Fe48w0VEQjm8+rce7BSsmusQSIwM2KX96shV0Yi E3ceXDNeHEihGj5wdaXPEoz54WpQbu3R0YprQ/vEQ+Kka3a+sXahneMU9yp24iIEnywy u7Pn+GeoQPxnXNUkQuGoBK1VfpoKxYWH8AChbt8W05e5Z/e+l5IoFnmjTK3N0ugCF3HQ /I1fpC6O6IlIoDP+04H37jg99fr5JeppqkUfGQ7iTTC4WyghOEhe/o7lYzYf8PfDCi1g 6x07ftzJvLivvQO/LsxLY8B543QsldxB4Jgup+b/Duw0iTvFrMBFbWf7kyf4CLJbwnQ2 FgLA== X-Gm-Message-State: AOJu0YxYObVfjB7yLGyNZ+kykOeGYMmBa6UIfF1FRXrMLh7Q4cNYZBrr EVeQXxfwoqwhuG5Rk4544zxSzp8rspqo200rgbS/7INFCRfm/19JuCtf7Xhc3TxtJyGYujcLPfG 2Dnrj3Es= X-Gm-Gg: ASbGncv+IQYgA9f1FVs5pRfiEmLOYlYSw7EkXIHIOh8p/WRsDhKUDY4UjvOSjvztiVC d/aW3AX5TQDqq34inHpUe0l7wm2TFU2G8MGpM+lTGwTsNKlEzTSJC/ojkAUy8wy3ikxBYR2m3Or XxRzGW5sKCzSr9Hgk9KgZTPw7zeVHm8luFoKx4Nco3vSgbQP/aKMGROXwIRW4Apc0qyo3OFRHA1 ZzX4hjilm7XDJRa/FwnGgCVGQoi0wbqvr9/rjh39WprThzzIaANY+3UepvZLzK32dQi+YVVmQxw Iq3OSmqGwwSesyztkaH5PEaeOuoHas9hqa8FhDPdtCUS3RkRAQg0NSxh2/PzPm7XkxEqC7QTf/4 bBw3vW0xYKHu0pjX5 X-Google-Smtp-Source: AGHT+IEhl+nbz8GwgsJYSFaahTTERxIDUc5TU6XssStGLC0dDNE9duN0Gl5VKs5GUq9D1hQEGmir8A== X-Received: by 2002:a05:622a:5588:b0:4a9:76fa:873d with SMTP id d75a77b69052e-4a9cccb00e4mr10038451cf.17.1751919689678; Mon, 07 Jul 2025 13:21:29 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 08/20] target/arm: Convert v8m_security_lookup to access_perm Date: Mon, 7 Jul 2025 14:20:59 -0600 Message-ID: <20250707202111.293787-9-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250707202111.293787-1-richard.henderson@linaro.org> References: <20250707202111.293787-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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::831; envelope-from=richard.henderson@linaro.org; helo=mail-qt1-x831.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751922177944116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson --- target/arm/internals.h | 2 +- target/arm/ptw.c | 8 ++++---- target/arm/tcg/m_helper.c | 7 +++---- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/target/arm/internals.h b/target/arm/internals.h index 629aa7bc23..1781943fac 100644 --- a/target/arm/internals.h +++ b/target/arm/internals.h @@ -1535,7 +1535,7 @@ typedef struct V8M_SAttributes { } V8M_SAttributes; =20 void v8m_security_lookup(CPUARMState *env, uint32_t address, - MMUAccessType access_type, ARMMMUIdx mmu_idx, + unsigned access_perm, ARMMMUIdx mmu_idx, bool secure, V8M_SAttributes *sattrs); =20 /* Cacheability and shareability attributes for a memory access */ diff --git a/target/arm/ptw.c b/target/arm/ptw.c index 78a9c21fab..709dfa2684 100644 --- a/target/arm/ptw.c +++ b/target/arm/ptw.c @@ -2770,7 +2770,7 @@ static bool v8m_is_sau_exempt(CPUARMState *env, } =20 void v8m_security_lookup(CPUARMState *env, uint32_t address, - MMUAccessType access_type, ARMMMUIdx mmu_idx, + unsigned access_perm, ARMMMUIdx mmu_idx, bool is_secure, V8M_SAttributes *sattrs) { /* @@ -2793,12 +2793,12 @@ void v8m_security_lookup(CPUARMState *env, uint32_t= address, &idau_nsc); } =20 - if (access_type =3D=3D MMU_INST_FETCH && extract32(address, 28, 4) =3D= =3D 0xf) { + if ((access_perm & PAGE_EXEC) && extract32(address, 28, 4) =3D=3D 0xf)= { /* 0xf0000000..0xffffffff is always S for insn fetches */ return; } =20 - if (idau_exempt || v8m_is_sau_exempt(env, address, 1 << access_type)) { + if (idau_exempt || v8m_is_sau_exempt(env, address, access_perm)) { sattrs->ns =3D !is_secure; return; } @@ -2891,7 +2891,7 @@ static bool get_phys_addr_pmsav8(CPUARMState *env, bool ret; =20 if (arm_feature(env, ARM_FEATURE_M_SECURITY)) { - v8m_security_lookup(env, address, access_type, mmu_idx, + v8m_security_lookup(env, address, 1 << access_type, mmu_idx, secure, &sattrs); if (access_type =3D=3D MMU_INST_FETCH) { /* diff --git a/target/arm/tcg/m_helper.c b/target/arm/tcg/m_helper.c index 220a3b472f..e52ab261be 100644 --- a/target/arm/tcg/m_helper.c +++ b/target/arm/tcg/m_helper.c @@ -684,7 +684,7 @@ static bool arm_v7m_load_vector(ARMCPU *cpu, int exc, b= ool targets_secure, if (arm_feature(env, ARM_FEATURE_M_SECURITY)) { V8M_SAttributes sattrs =3D {}; =20 - v8m_security_lookup(env, addr, MMU_DATA_LOAD, mmu_idx, + v8m_security_lookup(env, addr, PAGE_READ, mmu_idx, targets_secure, &sattrs); if (sattrs.ns) { attrs.secure =3D false; @@ -1996,7 +1996,7 @@ static bool v7m_read_half_insn(ARMCPU *cpu, ARMMMUIdx= mmu_idx, bool secure, ARMMMUFaultInfo fi =3D {}; MemTxResult txres; =20 - v8m_security_lookup(env, addr, MMU_INST_FETCH, mmu_idx, secure, &sattr= s); + v8m_security_lookup(env, addr, PAGE_EXEC, mmu_idx, secure, &sattrs); if (!sattrs.nsc || sattrs.ns) { /* * This must be the second half of the insn, and it straddles a @@ -2838,8 +2838,7 @@ uint32_t HELPER(v7m_tt)(CPUARMState *env, uint32_t ad= dr, uint32_t op) } =20 if (env->v7m.secure) { - v8m_security_lookup(env, addr, MMU_DATA_LOAD, mmu_idx, - targetsec, &sattrs); + v8m_security_lookup(env, addr, PAGE_READ, mmu_idx, targetsec, &sat= trs); nsr =3D sattrs.ns && r; nsrw =3D sattrs.ns && rw; } else { --=20 2.43.0 From nobody Mon Dec 15 21:27:45 2025 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751922247; cv=none; d=zohomail.com; s=zohoarc; b=CEapqUJGK5N0UY0Zms4A3N4AULe6Z7j30LvqM1d487FG1K4d9SGuEffIdE9Uhhm5hAJyJixxcAxnjTD9AHJX3EZl+qhfM50F1QXofOh1QY+UnDbWsDt7W6pCFYoM4IRILoia22JDHg6VF4K82LrEvb/JyfgSvpGLyIAxrIMzlLk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751922247; 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=gH9VNXBEfhinmOk/OsQiqn+Gb4kuwgshVCSdhCST/W4=; b=iB+cLVTbrh75HQikbGFQR6DbKwSgKYj0LZYGbcAsgrqggBW0C9XKTUvRUBJBQVn3QohHE5bA2VBWWmsuGH8fFT1fB9nQxceYXAVn0394DCG+GfNthro6bjbzKqn9NfmVKUmOgUo/a/19kLRgco5six4CCXB3cFcXwVZqyYozv+0= 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+importer=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 175192224700158.6831036797621; Mon, 7 Jul 2025 14:04:07 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uYszf-0001Yp-Br; Mon, 07 Jul 2025 17:03:20 -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 1uYsLH-0005M5-GD for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:36 -0400 Received: from mail-qk1-x72c.google.com ([2607:f8b0:4864:20::72c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uYsLF-0004K7-5B for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:34 -0400 Received: by mail-qk1-x72c.google.com with SMTP id af79cd13be357-7d3e7503333so584744785a.3 for ; Mon, 07 Jul 2025 13:21:32 -0700 (PDT) Received: from stoup.. ([172.58.142.143]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4a994a78dd4sm69050351cf.51.2025.07.07.13.21.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 13:21:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751919692; x=1752524492; 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=gH9VNXBEfhinmOk/OsQiqn+Gb4kuwgshVCSdhCST/W4=; b=Fx3Pb1xUpX9oPAWqNvu54qHYpi7lpcWr+5pc1ApWZo2ToTIZOXSfIQjCnFBlVKADrP wuP01NdCcBQUf+3OkD8ItpVpYbnOWeLzDKDrNfyzpLJ6p9wvErsMfW7jPhU5hNfp69Hn cknznoa+03Beh5MtiePLsX2EpgiMzAF2eejbB0DoB7VRGPIz4suPQIBpIz78RIIXvXZv f9oGAUCuWiwQ3uwqrVF0BLZ4o8pp/UYDYWypZkh6hnNfGyW0KCmzDzWoTCFsavSxy0DC w8tHZVoZXQcgs9gHc8/VpRtv9/57JEHRvwJAAAczhL+jfPbSCptzrlXy+DwSNqm1upE+ UoUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751919692; x=1752524492; 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=gH9VNXBEfhinmOk/OsQiqn+Gb4kuwgshVCSdhCST/W4=; b=C5kAdViyut6joceqXqSe1A++3ysSg7RSGXA535SRyKgfmkb5bYrOQ3LL+1C+JxBQmp wfsTTAkWEmVF1Zki4DOT9z4YKRnHh2ga8dVoqa9cQm6o0henww5DG/tMtr3A2F2gbY9p DMnD3pmJko5KCxg7UO/HhZFHUdsb7gyo396UFGxjO6dLAPOxeut5DHIXvlrDpqwt0PPf 45nWDwyrWI+7OSNZMuZWHUND5RfdKbmTpe/MH9AGQ0dr5teANXxoo8vIxuot/QG8StKv 8eK46FIhWn4zaGS3N3QBHh40lMw73YW3pgd9EJv1/UqaHgcq9b0+g4whXhPYW4MZAND2 nt+w== X-Gm-Message-State: AOJu0Yw1FOLYbTo8KkMhGkUE1IZQmSDuNWkeVWbdbelTC7HZQIpgJiMq bijgYXMwghOWduxXTvJ9jiOuANGGgBYl0wClyQdtMkh6iQD6YEWgDmQUwaq2TEiFY0xEJEzvYbh hx4ux6HQ= X-Gm-Gg: ASbGnctO9BqCl6nmNUe/cnheQn6mWimu6BgdfN+ynHWc9xyt+3FG6Tye5WdBNMTh9R3 BBd3cU1xCaWndVnWeCowNM+UKzuwGXBKLO0/C8ZV21wCUQW3OjPpMIzl9PlRDSEFFwVAzEvhH0A AharG5hvTfCxAZdq0IaSKtjO4zLjYbiXf6Nl1anQQpeMQFMVxpLdNvPV9soi3pRo3od3fyunsPB OXFiII0gd4KNUaeFblb6p8EVIAXAlMbuQorm4eCENGB7p1pzaiGMdMhXw6mERtF6gxZnj6xpeU8 w24VC1tiTZ0K9qiBj8hdT+X88jR+t5o5grdDeJeJBIIziPf3CwpayfAMZXXAicH0xMBZlO4dSs6 Qwd+6IkcNvh6LpJhU X-Google-Smtp-Source: AGHT+IFoGNOMe+FGzZ96WtNG6bkBWpVIS25sSsCd1ApP6Jo/ojTVFmHInB7LU2k9yFcIcx9nj1/jQw== X-Received: by 2002:a05:620a:2b89:b0:7d4:4b92:85e4 with SMTP id af79cd13be357-7d5dcc5e457mr1833576085a.14.1751919691816; Mon, 07 Jul 2025 13:21:31 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 09/20] target/arm: Convert get_phys_addr_pmsav8 to access_perm Date: Mon, 7 Jul 2025 14:21:00 -0600 Message-ID: <20250707202111.293787-10-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250707202111.293787-1-richard.henderson@linaro.org> References: <20250707202111.293787-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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::72c; envelope-from=richard.henderson@linaro.org; helo=mail-qk1-x72c.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751922249205116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson --- target/arm/ptw.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/target/arm/ptw.c b/target/arm/ptw.c index 709dfa2684..f1edbbee5b 100644 --- a/target/arm/ptw.c +++ b/target/arm/ptw.c @@ -2881,7 +2881,7 @@ void v8m_security_lookup(CPUARMState *env, uint32_t a= ddress, static bool get_phys_addr_pmsav8(CPUARMState *env, S1Translate *ptw, uint32_t address, - MMUAccessType access_type, + unsigned access_perm, GetPhysAddrResult *result, ARMMMUFaultInfo *fi) { @@ -2891,9 +2891,9 @@ static bool get_phys_addr_pmsav8(CPUARMState *env, bool ret; =20 if (arm_feature(env, ARM_FEATURE_M_SECURITY)) { - v8m_security_lookup(env, address, 1 << access_type, mmu_idx, + v8m_security_lookup(env, address, access_perm, mmu_idx, secure, &sattrs); - if (access_type =3D=3D MMU_INST_FETCH) { + if (access_perm & PAGE_EXEC) { /* * Instruction fetches always use the MMU bank and the * transaction attribute determined by the fetch address, @@ -2952,7 +2952,7 @@ static bool get_phys_addr_pmsav8(CPUARMState *env, } } =20 - ret =3D pmsav8_mpu_lookup(env, address, 1 << access_type, mmu_idx, sec= ure, + ret =3D pmsav8_mpu_lookup(env, address, access_perm, mmu_idx, secure, result, fi, NULL); if (sattrs.subpage) { result->f.lg_page_size =3D 0; @@ -3477,7 +3477,7 @@ static bool get_phys_addr_nogpc(CPUARMState *env, S1T= ranslate *ptw, =20 if (arm_feature(env, ARM_FEATURE_V8)) { /* PMSAv8 */ - ret =3D get_phys_addr_pmsav8(env, ptw, address, access_type, + ret =3D get_phys_addr_pmsav8(env, ptw, address, 1 << access_ty= pe, result, fi); } else if (arm_feature(env, ARM_FEATURE_V7)) { /* PMSAv7 */ --=20 2.43.0 From nobody Mon Dec 15 21:27:45 2025 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751921951; cv=none; d=zohomail.com; s=zohoarc; b=W3CvHpJJYKDHu6414NgeRoue+WhP8bzE3RdjzMm7SOGcDMg9C8gug/blJ6iwdvVfJ4MXAYYuQ3q3VZ2VXCkeEBsC6dDlzBKG2JQhRnk1ptgeZHBjc8Zk2b+W1X/ubyApz2G2ObsXdc7n2QXmXa/yUiN0gIGt7co0CxRV78xLj6o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751921951; 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=MjEHLUFNmDP4O5aZmFwPD33ITZa8oo06PNRAd4Vt/6M=; b=TlVZYeqvyO4qmAe9EtgaeCTrbZCuV6OV1uS0lV3+/B4gqeNZp98qIY59tb8n4hsoG9ikp0MGlZh/+rhoZKXUiZIT5w6oV6iYGlPt+o2mmKcy7DKOxwDGfUJIy2/nzdf8YHgXaqUbvX3nNKK2nbXATMQCyQ6Gp5Hr3ppL+19D2R4= 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+importer=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 1751921951441643.827657882215; Mon, 7 Jul 2025 13:59:11 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uYsvL-0004SF-CX; Mon, 07 Jul 2025 16:58:51 -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 1uYsLK-0005Mv-6Y for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:44 -0400 Received: from mail-qt1-x82c.google.com ([2607:f8b0:4864:20::82c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uYsLH-0004KY-6S for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:36 -0400 Received: by mail-qt1-x82c.google.com with SMTP id d75a77b69052e-4a77ffcb795so33802391cf.0 for ; Mon, 07 Jul 2025 13:21:34 -0700 (PDT) Received: from stoup.. ([172.58.142.143]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4a994a78dd4sm69050351cf.51.2025.07.07.13.21.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 13:21:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751919693; x=1752524493; 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=MjEHLUFNmDP4O5aZmFwPD33ITZa8oo06PNRAd4Vt/6M=; b=pXHFJ4TDNMq762oPVidszhMNLgCsdzNTZEMNB9a3xWoWweBtVNQq33keOWpqGzspZZ adG41xSL1fWYWAtgufUd1dFe4pqWnUIcU/Y9MM0/ttz8mT4kZLoXKHj3qanj4Lr2HuHq pDTWn/A4fAzwrpZmZF4da4VpxTlKXHstshdvM2uk6k/m+Edv+r2xxuPvprBw6hRJZ9hj TnBhO1NW4DbfpqWNBnO3vx2J0rUKUlN8QHw6WBK54tAhiPX/y/y0zBTI/DlFWAuFL4cF 8XhW6ucbNh6pjoSbs3eE+voeRdjpLAcjzkjh5ORDYWEUmCayaoy73RoJPuCabOO2rkG2 zpLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751919693; x=1752524493; 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=MjEHLUFNmDP4O5aZmFwPD33ITZa8oo06PNRAd4Vt/6M=; b=mFtsAX+9UHuK5PQjESb3j42D0RlYvdW8P6K95jcStyMIP/5NjNnNeau4Bk18FXpvTl cxo3c6jxv+ovbpKz2LXsOk22AcoPjlHrEH0UVrk1B8q9zcFGYlJqDZRgiyMQJ8iXu29b RP+yw6/tWSgSybfWR6CpSyvnkBCZs57IXkjZQiL7rgKog0tEFm6BW4jqH6gZpSXOEAYA H2iO96Ai+2ws/r0MObe6zbBIhCIXUeGKcoQZ/V+3XFN5vf+s1hKUjjv3igIRt8WcjU59 vpxmPIfEdLRIGNUso0c7wrMAU/XfR8YgWTRxlcYnishPaQ3Unor9szkS1o1PF+Pn1Z9O QBOw== X-Gm-Message-State: AOJu0YysCfbnDCWaeCEwMlyk6RHiZVPsVzQwYtn02OBISdoAhLVwiXgK zcFWVJyKY/5CSZaSLtLmPmzJzZd82JIy7pFe6696QDd7LBAw0A0KImjKl3p3jh8qDMTDaMYGCKN +7FyT+yw= X-Gm-Gg: ASbGncvG9yX0C4GekTiLb6cCHPabOSlqm+9bjmKTWcWrukuiaE+USSjBr9WBPsZPgS1 fjuzOvJXMHfKqbnTNDYri6mUlJNppTIBOqNkJzvz0I5bFr1sWiQv/YRSZz8F+ScGGG2/h14pWU6 SUDb0Q1PFXq35d5ph741wMfOfv+L0g8SGAaQgCZekap1A9TKJDcl7FmRfw3XjaI8VLdxJF+7cy5 2Lzb2MuKW4T6lGp7YnvBeXSHZYsicFJfdMJGP3m6BAhte4mLu9aiZLjPoiXC1MSSduTuhFW8nPl PHumw5mSlpYXicEuTUAHeYr2Nx2GHx4XwiQY/DhaSsk3svMMb4VYukCQJxoG4FLhVcScH8z3WOb zs/Qx+EKES83wb8Gk74Ek5uc9MLM= X-Google-Smtp-Source: AGHT+IERxHsB9WAVKYFv9ZZfYCBz16Nidq5zfOay2Jv7keY/MXKU2XWXc+1CH1L5S2TP+au1rY4MqQ== X-Received: by 2002:a05:622a:424b:b0:4a6:ea91:7e9 with SMTP id d75a77b69052e-4a9cd7b1b75mr5019911cf.25.1751919693448; Mon, 07 Jul 2025 13:21:33 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 10/20] target/arm: Convert get_phys_addr_disabled to access_perm Date: Mon, 7 Jul 2025 14:21:01 -0600 Message-ID: <20250707202111.293787-11-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250707202111.293787-1-richard.henderson@linaro.org> References: <20250707202111.293787-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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::82c; envelope-from=richard.henderson@linaro.org; helo=mail-qt1-x82c.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751921952654116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson --- target/arm/ptw.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/target/arm/ptw.c b/target/arm/ptw.c index f1edbbee5b..5b8040a174 100644 --- a/target/arm/ptw.c +++ b/target/arm/ptw.c @@ -3193,7 +3193,7 @@ static ARMCacheAttrs combine_cacheattrs(uint64_t hcr, static bool get_phys_addr_disabled(CPUARMState *env, S1Translate *ptw, vaddr address, - MMUAccessType access_type, + unsigned access_perm, GetPhysAddrResult *result, ARMMMUFaultInfo *fi) { @@ -3219,7 +3219,7 @@ static bool get_phys_addr_disabled(CPUARMState *env, int addrtop, tbi; =20 tbi =3D aa64_va_parameter_tbi(tcr, mmu_idx); - if (access_type =3D=3D MMU_INST_FETCH) { + if (access_perm & PAGE_EXEC) { tbi &=3D ~aa64_va_parameter_tbid(tcr, mmu_idx); } tbi =3D (tbi >> extract64(address, 55, 1)) & 1; @@ -3253,7 +3253,7 @@ static bool get_phys_addr_disabled(CPUARMState *env, } } if (memattr =3D=3D 0) { - if (access_type =3D=3D MMU_INST_FETCH) { + if (access_perm & PAGE_EXEC) { if (regime_sctlr(env, mmu_idx) & SCTLR_I) { memattr =3D 0xee; /* Normal, WT, RA, NT */ } else { @@ -3404,7 +3404,7 @@ static bool get_phys_addr_nogpc(CPUARMState *env, S1T= ranslate *ptw, case ARMMMUIdx_Phys_Root: case ARMMMUIdx_Phys_Realm: /* Checking Phys early avoids special casing later vs regime_el. */ - return get_phys_addr_disabled(env, ptw, address, access_type, + return get_phys_addr_disabled(env, ptw, address, 1 << access_type, result, fi); =20 case ARMMMUIdx_Stage1_E0: @@ -3504,7 +3504,7 @@ static bool get_phys_addr_nogpc(CPUARMState *env, S1T= ranslate *ptw, /* Definitely a real MMU, not an MPU */ =20 if (regime_translation_disabled(env, mmu_idx, ptw->in_space)) { - return get_phys_addr_disabled(env, ptw, address, access_type, + return get_phys_addr_disabled(env, ptw, address, 1 << access_type, result, fi); } =20 --=20 2.43.0 From nobody Mon Dec 15 21:27:45 2025 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751922388; cv=none; d=zohomail.com; s=zohoarc; b=SAmT084RDLsS3yb2NgdlqiRvgrcvX+PUlRt6nXGQKssG7soZf7LTJNNcofYvw7IuZPIXIvyKMyszgBjYCriRLNFsaYnoSsrM+RKvcTttBNGhqZ2Z54Zxl1j+5aLupBYdDpNNY5Malb0FhJu0eyGzs09lyhKzsn8iBBH7o4joR+g= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751922388; 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=3Nul40+dgiHaLOzX7hjn+6zDcctExYo7C9aAP6bNzfk=; b=FqayoRDGDVbautnEf1TlF1Z0hWT0zM+vN1KLDVmS2rDSNbHWsq+StTi9GYXT0W7MPJZm7Tqlaj22MGN9IUk0imIXJWjUHnqhUE8qwollXqBT6lzmbKAYjsdJPhzGq6X2Pis68E5+OXECUOIkMuWOq6nFLIwC4cPEzHJWHKKzybY= 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+importer=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 1751922388789943.9994988431589; Mon, 7 Jul 2025 14:06:28 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uYt0a-0004Eg-4i; Mon, 07 Jul 2025 17:04:16 -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 1uYsLL-0005NM-Pt for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:50 -0400 Received: from mail-qk1-x731.google.com ([2607:f8b0:4864:20::731]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uYsLJ-0004L1-T4 for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:39 -0400 Received: by mail-qk1-x731.google.com with SMTP id af79cd13be357-7d9e2f85b2cso34665285a.2 for ; Mon, 07 Jul 2025 13:21:36 -0700 (PDT) Received: from stoup.. ([172.58.142.143]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4a994a78dd4sm69050351cf.51.2025.07.07.13.21.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 13:21:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751919696; x=1752524496; 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=3Nul40+dgiHaLOzX7hjn+6zDcctExYo7C9aAP6bNzfk=; b=L18O2ay34ErW5CDA7R2SSWiA2nsdSPVRRYFDfEZPW6mpBhfp++eDok8TqBzKrkwaAK YvQTB1Jqp+XQvkfVYXMJjWzoZNleuAPxTFU3grnx41stY946tLgKbvw7UyNzV/RwgMmg FU/WT9YZeJqdWo4dZDFpFi+bSgGeBTpWgeailKgaOis16xVMWNnfZDGpOKjPH7k0eMVR YenAKvfivw3NAc47w+fp42+KWGSEZQCP7lyop+MFHVoYCOFyY8ZdjJOVwu0Ry8ET8/FD ao/g48FvLUWgLYE+VHml1swHMJW3It5u9QUE2uv1NRb2lOyxawuFbKspX7QCeA/vesS4 dyag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751919696; x=1752524496; 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=3Nul40+dgiHaLOzX7hjn+6zDcctExYo7C9aAP6bNzfk=; b=TIZ8xqnmn0WUoaQBLT5QZAU6Y6C6Gcod6OuBVdAUTCeqqmLkt664iIvjWOnyU8wY1Y Xwgc7WU3CoRHWbnZR+z/UVo0W2da1dJsxg99ocV5odPRakwUy6apAT2xVcNxtII7aO/m aQw/S+gippe8tqJQW3Jok7XNZYQS4wQtYKkxPhY7XU8yQx4AwQ01QFRYfv6Lj4rqmPy+ yt+tbZAKbBvJW8OQxJGKEkGLEqyJg9I6m+lhcyrSodailvfqsYbzLcJXGu/fBz78mia/ aG8ncWyRcegqiHlH7q/fWPwFcphVwVTi+F69M2rjOr6y3/81GIMwUSXY4KCoQJfcnhCj XakQ== X-Gm-Message-State: AOJu0YwsjDhK6C5K5oJaGGiAmOpCW/CEf66Dzvcfb02GTR+HMKMR9Lzv gxmG8tYS9T2wC9lWOHzDPatCspdijG7OR25A4RKcu1tkJaRlPi4Ws3jR8VfBagbzTGMZJ568X8X OW8PNHwk= X-Gm-Gg: ASbGncsgXRpUGZ34qVZu5CybP5Z7t3o1zquWh/7UjkLQwggDR+qC5oXo/UB0IzasUnY JV5V9zvRUKwCiRLTLY9GRGxU5Y2XKndix9Uz+PrAfTX/ScuE65Mm5fowlIB/tPJbE+wtnvwjpHq LkwL9FvwCMYxCB/HX1b7FgbMjhzA8I4N5L5gZpgtzHea+756kxfCz3EcD5z8kXC9KcO/yX3FL/C Zl8x0iTXfSiUY82oNs/hpShjnq8J06rc08hibufs6IqdZtCQqQ+9kbO9uPrKJ+dSuPmxCeUnU4v oCE7rvH8YTOIMMBpm3MtG8rAuNHD0kWwhT1P+M/llEzCx0lwTjTQnAn6W0jcuJP2I/cCXSZWktj of5Ndwo+UZGpFCqaU X-Google-Smtp-Source: AGHT+IGjlhvXpQcylwkHIcT0x4O8VpWvDpMhq95vAyF72ak7bs+5o1e23ePiQWFrTV8elA5QLDD0Kg== X-Received: by 2002:a05:620a:3904:b0:7d3:e710:1d3 with SMTP id af79cd13be357-7d5dcc72e1dmr2004169785a.7.1751919695420; Mon, 07 Jul 2025 13:21:35 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 11/20] target/arm: Convert get_phys_addr_nogpc to access_perm Date: Mon, 7 Jul 2025 14:21:02 -0600 Message-ID: <20250707202111.293787-12-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250707202111.293787-1-richard.henderson@linaro.org> References: <20250707202111.293787-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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::731; envelope-from=richard.henderson@linaro.org; helo=mail-qk1-x731.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751922390854116600 Content-Type: text/plain; charset="utf-8" Because of the recursion with get_phys_addr_twostage, we must convert the two functions at the same time. Signed-off-by: Richard Henderson --- target/arm/ptw.c | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/target/arm/ptw.c b/target/arm/ptw.c index 5b8040a174..fef9e9a7cb 100644 --- a/target/arm/ptw.c +++ b/target/arm/ptw.c @@ -74,7 +74,7 @@ typedef struct S1Translate { =20 static bool get_phys_addr_nogpc(CPUARMState *env, S1Translate *ptw, vaddr address, - MMUAccessType access_type, MemOp memop, + unsigned access_perm, MemOp memop, GetPhysAddrResult *result, ARMMMUFaultInfo *fi); =20 @@ -3276,7 +3276,7 @@ static bool get_phys_addr_disabled(CPUARMState *env, =20 static bool get_phys_addr_twostage(CPUARMState *env, S1Translate *ptw, vaddr address, - MMUAccessType access_type, MemOp memop, + unsigned access_perm, MemOp memop, GetPhysAddrResult *result, ARMMMUFaultInfo *fi) { @@ -3288,7 +3288,7 @@ static bool get_phys_addr_twostage(CPUARMState *env, = S1Translate *ptw, ARMSecuritySpace ipa_space; uint64_t hcr; =20 - ret =3D get_phys_addr_nogpc(env, ptw, address, access_type, + ret =3D get_phys_addr_nogpc(env, ptw, address, access_perm, memop, result, fi); =20 /* If S1 fails, return early. */ @@ -3315,7 +3315,7 @@ static bool get_phys_addr_twostage(CPUARMState *env, = S1Translate *ptw, cacheattrs1 =3D result->cacheattrs; memset(result, 0, sizeof(*result)); =20 - ret =3D get_phys_addr_nogpc(env, ptw, ipa, access_type, + ret =3D get_phys_addr_nogpc(env, ptw, ipa, access_perm, memop, result, fi); fi->s2addr =3D ipa; =20 @@ -3383,7 +3383,7 @@ static bool get_phys_addr_twostage(CPUARMState *env, = S1Translate *ptw, =20 static bool get_phys_addr_nogpc(CPUARMState *env, S1Translate *ptw, vaddr address, - MMUAccessType access_type, MemOp mem= op, + unsigned access_perm, MemOp memop, GetPhysAddrResult *result, ARMMMUFaultInfo *fi) { @@ -3404,7 +3404,7 @@ static bool get_phys_addr_nogpc(CPUARMState *env, S1T= ranslate *ptw, case ARMMMUIdx_Phys_Root: case ARMMMUIdx_Phys_Realm: /* Checking Phys early avoids special casing later vs regime_el. */ - return get_phys_addr_disabled(env, ptw, address, 1 << access_type, + return get_phys_addr_disabled(env, ptw, address, access_perm, result, fi); =20 case ARMMMUIdx_Stage1_E0: @@ -3445,7 +3445,7 @@ static bool get_phys_addr_nogpc(CPUARMState *env, S1T= ranslate *ptw, ptw->in_mmu_idx =3D mmu_idx =3D s1_mmu_idx; if (arm_feature(env, ARM_FEATURE_EL2) && !regime_translation_disabled(env, ARMMMUIdx_Stage2, ptw->in_sp= ace)) { - return get_phys_addr_twostage(env, ptw, address, access_type, + return get_phys_addr_twostage(env, ptw, address, access_perm, memop, result, fi); } /* fall through */ @@ -3477,21 +3477,22 @@ static bool get_phys_addr_nogpc(CPUARMState *env, S= 1Translate *ptw, =20 if (arm_feature(env, ARM_FEATURE_V8)) { /* PMSAv8 */ - ret =3D get_phys_addr_pmsav8(env, ptw, address, 1 << access_ty= pe, + ret =3D get_phys_addr_pmsav8(env, ptw, address, access_perm, result, fi); } else if (arm_feature(env, ARM_FEATURE_V7)) { /* PMSAv7 */ - ret =3D get_phys_addr_pmsav7(env, ptw, address, 1 << access_ty= pe, + ret =3D get_phys_addr_pmsav7(env, ptw, address, access_perm, result, fi); } else { /* Pre-v7 MPU */ - ret =3D get_phys_addr_pmsav5(env, ptw, address, 1 << access_ty= pe, + ret =3D get_phys_addr_pmsav5(env, ptw, address, access_perm, result, fi); } - qemu_log_mask(CPU_LOG_MMU, "PMSA MPU lookup for %s at 0x%08" PRIx32 + qemu_log_mask(CPU_LOG_MMU, "PMSA MPU lookup for %c%c%c at 0x%08" P= RIx32 " mmu_idx %u -> %s (prot %c%c%c)\n", - access_type =3D=3D MMU_DATA_LOAD ? "reading" : - (access_type =3D=3D MMU_DATA_STORE ? "writing" : "ex= ecute"), + access_perm & PAGE_READ ? 'r' : '-', + access_perm & PAGE_WRITE ? 'w' : '-', + access_perm & PAGE_EXEC ? 'x' : '-', (uint32_t)address, mmu_idx, ret ? "Miss" : "Hit", result->f.prot & PAGE_READ ? 'r' : '-', @@ -3504,18 +3505,18 @@ static bool get_phys_addr_nogpc(CPUARMState *env, S= 1Translate *ptw, /* Definitely a real MMU, not an MPU */ =20 if (regime_translation_disabled(env, mmu_idx, ptw->in_space)) { - return get_phys_addr_disabled(env, ptw, address, 1 << access_type, + return get_phys_addr_disabled(env, ptw, address, access_perm, result, fi); } =20 if (regime_using_lpae_format(env, mmu_idx)) { - return get_phys_addr_lpae(env, ptw, address, 1 << access_type, + return get_phys_addr_lpae(env, ptw, address, access_perm, memop, result, fi); } else if (arm_feature(env, ARM_FEATURE_V7) || regime_sctlr(env, mmu_idx) & SCTLR_XP) { - return get_phys_addr_v6(env, ptw, address, 1 << access_type, resul= t, fi); + return get_phys_addr_v6(env, ptw, address, access_perm, result, fi= ); } else { - return get_phys_addr_v5(env, ptw, address, 1 << access_type, resul= t, fi); + return get_phys_addr_v5(env, ptw, address, access_perm, result, fi= ); } } =20 @@ -3525,7 +3526,7 @@ static bool get_phys_addr_gpc(CPUARMState *env, S1Tra= nslate *ptw, GetPhysAddrResult *result, ARMMMUFaultInfo *fi) { - if (get_phys_addr_nogpc(env, ptw, address, access_type, + if (get_phys_addr_nogpc(env, ptw, address, 1 << access_type, memop, result, fi)) { return true; } @@ -3547,7 +3548,7 @@ bool get_phys_addr_with_space_nogpc(CPUARMState *env,= vaddr address, .in_mmu_idx =3D mmu_idx, .in_space =3D space, }; - return get_phys_addr_nogpc(env, &ptw, address, access_type, + return get_phys_addr_nogpc(env, &ptw, address, 1 << access_type, memop, result, fi); } =20 --=20 2.43.0 From nobody Mon Dec 15 21:27:45 2025 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751922354; cv=none; d=zohomail.com; s=zohoarc; b=cVPxzaajUMUR936ykjVpr4Ynzp+NA5nzfgmpHuqQlaF0kDi0kSm4izpTy9qWK+WHoYCEshVRizMhoi05/3CAdACiiNbasBIGmUGyTfRopee9ZQ03cxKMDsh1cqaf8pGIEKQKiTw0KfWgkuD0nVg/sOx4ZiRK+ZkBVQMKMDYtZxg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751922354; 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=eSuF9K3X4zPNfJxzAcnALHIJ2U7+0NqG2hBWUtM7d8s=; b=HMHpxWcD94H6e9gPP7yDybRctkXE/exidQOvQwsl+LlGRotuiPGC2vFFSwDE51aHkSXOO5EpI8k83GxPiGfb7gvJR7ewKuhweMBGYf26AVpfHwFWq2uQTzmwaJeytxDaI0TLRgYGeOgHZI2Sbre+jQaLIu+pqLbjdVPr6TvOUZ4= 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+importer=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 1751922354568139.0058394012134; Mon, 7 Jul 2025 14:05:54 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uYt0H-0002qo-SH; Mon, 07 Jul 2025 17:03:58 -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 1uYsLO-0005Os-6e for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:51 -0400 Received: from mail-qt1-x831.google.com ([2607:f8b0:4864:20::831]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uYsLK-0004LK-GS for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:40 -0400 Received: by mail-qt1-x831.google.com with SMTP id d75a77b69052e-4a44b0ed780so39862231cf.3 for ; Mon, 07 Jul 2025 13:21:38 -0700 (PDT) Received: from stoup.. ([172.58.142.143]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4a994a78dd4sm69050351cf.51.2025.07.07.13.21.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 13:21:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751919697; x=1752524497; 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=eSuF9K3X4zPNfJxzAcnALHIJ2U7+0NqG2hBWUtM7d8s=; b=iVSVvsCeVnvBp6YadeAp8Xq9hMchxQ1crXlccmw+ZcmY8+Ny4YJlUbwGvVgILRZKkx eBQRd0IsutPo+5EMAMktnEec4wnvsqoSCo4VH/miL4nOD2Ljgjf7+1d90535Cmok2o/S tcCfxuQu/49J/V4ZZ67P6Mx7eOlr5SE3GZ7kbaZpt4NaN/xXObMK7sfhcgcMCBkCIHmA KYVLLb+HzI0Fs0n/jGwdYT1mXwCneT4lrdA6LoEmbQIBjpykavmepeGGAtj9Y2RwD+IF uSrCQQ2miZ3wWNUSUURKCLvRVjVOvKxkm3YDQz7DkC0EHrepVouvqvap5HS9RlzRGivD qf1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751919697; x=1752524497; 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=eSuF9K3X4zPNfJxzAcnALHIJ2U7+0NqG2hBWUtM7d8s=; b=M9hla8XWX3wY3uOHVWU+Tgr4fWaJz8o8pCBowMngx0HZPYaD8BI970pSrwCCn4Q4tH mqSuCvLTN/dfDeeduFbrPFFD+mbyR0XySmrWmJtuTHxEYNhtof+jvyOwRI9Yv25G6ojc brPjVvX6zGnNB8jPhTOzAKrgMvd8PU2v8bRMDN17HZb3kcXb+6z5pL6hDZaVyOOTGo4j co3QT/LWxoNw8+cZdhJhz/DJWvXxMuLLDYxnyyDRPY81Rn9XqDpm7usNTDflWpfnccVI cbO9JrsD8ytvj5wumvoRacnbXFSi2gqp8jyt5nTL43sKwvJd4nB1MEuKROvjPm+DRPtS Jx+g== X-Gm-Message-State: AOJu0YykynsPQjDDWkvRWNwLPBhXPdOPhpobdonEQTOR1rNC+QbLt5dZ eyw4qdZQuUKm2oMUj0zemZmhIptlWJKsC1lsrOPpSLV072DRUFt5b5aeokyIj3MC6OIPl4HJ4Yz 1lvb7d6Y= X-Gm-Gg: ASbGncsZCmiCo1bS9U+d05o76PrPUiWvx4rqJgHjSpD0ccPHPZtxL4jS6KU3nBVsP5p wxqUtXzWCKeAEwqfRWVHY10dwUF8K2pRGqiEQXHAloG/qvKFmOlCk8PiYHLQaoE6B4A7iUDFcBR UFaNhXNKwMyCTyx3+atacva7UzX649KkUxoKrZ4vEodRy+Kf7FSgctmonFfpVJgmOeFmmlg9WGV 66M/Tsp+Y/9z0b7+dbAlBfVDRcL154wR1UhcrWh/bMDDPahJKf1HXmae82zdGSXpdZxFvbvMCBB QrjMZTgT3H1k8ehLOi1CZaDKJM6MtxcWV5uumx4YkUvtq61uoJKnKjoZXFLjTMMAvH/gJ0iQR5i KGap+6kE/KAPCMM+2 X-Google-Smtp-Source: AGHT+IEN/5e3/o3rySNa2FlylcSkaoQIltypqmb1Ky7W/et+6+3BCJdZ3NhwYqcYcdzUUq6EQG9Rxg== X-Received: by 2002:a05:622a:15d3:b0:4a4:3d27:77a8 with SMTP id d75a77b69052e-4a996441c88mr220820201cf.6.1751919697124; Mon, 07 Jul 2025 13:21:37 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 12/20] target/arm: Convert get_phys_addr_gpc to access_perm Date: Mon, 7 Jul 2025 14:21:03 -0600 Message-ID: <20250707202111.293787-13-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250707202111.293787-1-richard.henderson@linaro.org> References: <20250707202111.293787-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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::831; envelope-from=richard.henderson@linaro.org; helo=mail-qt1-x831.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=unavailable 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751922356379116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson --- target/arm/ptw.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/target/arm/ptw.c b/target/arm/ptw.c index fef9e9a7cb..adc681da41 100644 --- a/target/arm/ptw.c +++ b/target/arm/ptw.c @@ -80,7 +80,7 @@ static bool get_phys_addr_nogpc(CPUARMState *env, S1Trans= late *ptw, =20 static bool get_phys_addr_gpc(CPUARMState *env, S1Translate *ptw, vaddr address, - MMUAccessType access_type, MemOp memop, + unsigned access_perm, MemOp memop, GetPhysAddrResult *result, ARMMMUFaultInfo *fi); =20 @@ -584,7 +584,7 @@ static bool S1_ptw_translate(CPUARMState *env, S1Transl= ate *ptw, }; GetPhysAddrResult s2 =3D { }; =20 - if (get_phys_addr_gpc(env, &s2ptw, addr, MMU_DATA_LOAD, 0, &s2, fi= )) { + if (get_phys_addr_gpc(env, &s2ptw, addr, PAGE_READ, 0, &s2, fi)) { goto fail; } =20 @@ -3522,11 +3522,11 @@ static bool get_phys_addr_nogpc(CPUARMState *env, S= 1Translate *ptw, =20 static bool get_phys_addr_gpc(CPUARMState *env, S1Translate *ptw, vaddr address, - MMUAccessType access_type, MemOp memop, + unsigned access_perm, MemOp memop, GetPhysAddrResult *result, ARMMMUFaultInfo *fi) { - if (get_phys_addr_nogpc(env, ptw, address, 1 << access_type, + if (get_phys_addr_nogpc(env, ptw, address, access_perm, memop, result, fi)) { return true; } @@ -3627,7 +3627,7 @@ bool get_phys_addr(CPUARMState *env, vaddr address, .in_space =3D arm_mmu_idx_to_security_space(env, mmu_idx), }; =20 - return get_phys_addr_gpc(env, &ptw, address, access_type, + return get_phys_addr_gpc(env, &ptw, address, 1 << access_type, memop, result, fi); } =20 @@ -3641,7 +3641,7 @@ static hwaddr arm_cpu_get_phys_page(CPUARMState *env,= vaddr addr, }; GetPhysAddrResult res =3D {}; ARMMMUFaultInfo fi =3D {}; - bool ret =3D get_phys_addr_gpc(env, &ptw, addr, MMU_DATA_LOAD, 0, &res= , &fi); + bool ret =3D get_phys_addr_gpc(env, &ptw, addr, PAGE_READ, 0, &res, &f= i); *attrs =3D res.f.attrs; =20 if (ret) { --=20 2.43.0 From nobody Mon Dec 15 21:27:45 2025 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751922375; cv=none; d=zohomail.com; s=zohoarc; b=MJoYhmwc9CoyQW0f/KIqOf09hFR2CRrqSRWI6Snp8hu7hhcaLNeikT7nfWpOdkhOzP1MkDc4dOY0sjbMqfFFBHWZ8FQf5RTOF8KE3qKSa3YM0Tn1qvbbYXqa45ZT4nzA9TSiIY6dvxnGPrp5N0Ylev97QR/xjTY0tqZHWfVpBBM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751922375; 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=ybeqppIASMpILlSOtSzibeJXQgdx0fr6hKS1er4nRe0=; b=oIWUtb22ElAy8+eDZE/scA+0+v2VHvcrbz5ems9w1MaqcU75ANutwh9pwSRgem0UhQm2CJi5yn7c36qR/64GSWH8SDNQW4S4yq0fKGIElJyhH4TdUkuqHZUZb/05II+9a4lyAb/VUb+wmEprgxYw7SIYPkK6nEN97TJrNovTz+E= 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+importer=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 1751922375122552.3648071159566; Mon, 7 Jul 2025 14:06:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uYt0n-0005FP-Vg; Mon, 07 Jul 2025 17:04:30 -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 1uYsLO-0005Ov-Am for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:51 -0400 Received: from mail-qt1-x82c.google.com ([2607:f8b0:4864:20::82c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uYsLL-0004Lp-Vw for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:41 -0400 Received: by mail-qt1-x82c.google.com with SMTP id d75a77b69052e-4a43afb04a7so26009101cf.0 for ; Mon, 07 Jul 2025 13:21:39 -0700 (PDT) Received: from stoup.. ([172.58.142.143]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4a994a78dd4sm69050351cf.51.2025.07.07.13.21.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 13:21:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751919699; x=1752524499; 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=ybeqppIASMpILlSOtSzibeJXQgdx0fr6hKS1er4nRe0=; b=qgmK71pX2NWWxbsUS0q6hmTu5ujk27zAjIu1KtDWQHqZf+UFU5nrdWoshCDDM5BunV vV3RiB1oskIrU/Yj9e6iJnI2yFUaAfLN+EcQPxRarAsNHxlbGCEqRMW6SsAg1CXVN016 Zll1mmh4wzPckIy957Nae86PMPsvPEF7swuM/bmGEDGhHJ2sKzq0ApwqkRJKF8dFPefR 71E2tsJBY9W3ATFvRRuaO1bgQ5RbE7N6XtkFyjj4crxUMT+Xqz1hNmKVPNWzummIzVjv ZvAcZPh3HbYviCAp33gB5d2pSQZBqlSxPCS+vSXQcflVZyDBKQNMymHhCUTOXU+jzDjY NCqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751919699; x=1752524499; 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=ybeqppIASMpILlSOtSzibeJXQgdx0fr6hKS1er4nRe0=; b=wcSzjWlVbIEuH/2iBU892/dIdnh84auIMIj2kuWyaWuYDlfzbqLNz3EMxN3VvzdyKY VNtE5E+Ft9jAxqK0cE2vzTx2yrdX9TVp3B1H4fLclgrDeS/zZJD0PcoMwQaf6PAw0yzQ cXdpqQyioPcNzob0zUkMpy4FzXCenGL4nGJW68jmvpBKu684ez0RXPutArziEUmXGiZx jORM7vgxygtAr8C0FgBftjQ0ILzk/YtqXvpYrfuYCTkYFqiGj97qZfi5MLJ/J82yTCBy 8Br8tsPquESksvC/xzhUsJeyBThNqp7srQ8P8nlxzD51vzSZNEi3oTfnivIgSnCIOu7C NBIA== X-Gm-Message-State: AOJu0YwSbPsJB9873bpfhwgQG94DrnWlpHOqO3L1cIC4l/8Tk00noudq wCLxm2/rQ1HEZ4DCYk9AuqP9AX7gGbI69Z9RGysgNbPglcTIgmj3VMXSeobMGQ7Ph7+ZL+aD/1Y 4jp3GmQs= X-Gm-Gg: ASbGncvF/gHwTEyF7WiIBRAsFQRH1HoTg/La+C6kn7DVS54L0bcAbIybZBjcyyYbWAR Q625jOmnbpIInLcDC17mp6iLb1Cppb77QnxbATx6DcF4ltWGP5mauxG/sLFD0mIkD3lBfyoqyS8 GKguofDMwZllH8WAqbKIK6ZHgIlWyq2fcAJM1JAIEbs4QarXr75HF76B7mVk++p8Tb1Mw2jSqVW 36GJxDBkZHJsQZZ5qJwS4SyXAb7VDcvnfPoo+mbc6WGTFLW2lEu+Vb68yvwbGoCP2Xqny6gixLZ lYQLPXZAso9I1AR2Bf3MPYH8rkNCPgW9ECjUiQTlUE4zoopKazBwZ0ab0pgrIwPdAliEvcNiQdf 8bUgKYXOh1OuXA4i4 X-Google-Smtp-Source: AGHT+IEu3+TxoBTKgfKy+3aHCvEP+MO+ZCSYwFSeSPqlBoqhy5CKbKprhMk7mGPwuPIjxQQjkS8avQ== X-Received: by 2002:a05:622a:82:b0:4a6:ef76:c265 with SMTP id d75a77b69052e-4a9987f9b5fmr187230181cf.36.1751919698689; Mon, 07 Jul 2025 13:21:38 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 13/20] target/arm: Convert get_phys_addr_with_space_nogpc to access_perm Date: Mon, 7 Jul 2025 14:21:04 -0600 Message-ID: <20250707202111.293787-14-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250707202111.293787-1-richard.henderson@linaro.org> References: <20250707202111.293787-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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::82c; envelope-from=richard.henderson@linaro.org; helo=mail-qt1-x82c.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751922376717116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson --- target/arm/internals.h | 4 ++-- target/arm/ptw.c | 4 ++-- target/arm/tcg/cpregs-at.c | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/target/arm/internals.h b/target/arm/internals.h index 1781943fac..20b49201cb 100644 --- a/target/arm/internals.h +++ b/target/arm/internals.h @@ -1588,7 +1588,7 @@ bool get_phys_addr(CPUARMState *env, vaddr address, * address * @env: CPUARMState * @address: virtual address to get physical address for - * @access_type: 0 for read, 1 for write, 2 for execute + * @access_perm: PAGE_{READ,WRITE,EXEC}, or 0 * @memop: memory operation feeding this access, or 0 for none * @mmu_idx: MMU index indicating required translation regime * @space: security space for the access @@ -1599,7 +1599,7 @@ bool get_phys_addr(CPUARMState *env, vaddr address, * a Granule Protection Check on the resulting address. */ bool get_phys_addr_with_space_nogpc(CPUARMState *env, vaddr address, - MMUAccessType access_type, MemOp memop, + unsigned access_perm, MemOp memop, ARMMMUIdx mmu_idx, ARMSecuritySpace sp= ace, GetPhysAddrResult *result, ARMMMUFaultInfo *fi) diff --git a/target/arm/ptw.c b/target/arm/ptw.c index adc681da41..19e67fba67 100644 --- a/target/arm/ptw.c +++ b/target/arm/ptw.c @@ -3539,7 +3539,7 @@ static bool get_phys_addr_gpc(CPUARMState *env, S1Tra= nslate *ptw, } =20 bool get_phys_addr_with_space_nogpc(CPUARMState *env, vaddr address, - MMUAccessType access_type, MemOp memop, + unsigned access_perm, MemOp memop, ARMMMUIdx mmu_idx, ARMSecuritySpace sp= ace, GetPhysAddrResult *result, ARMMMUFaultInfo *fi) @@ -3548,7 +3548,7 @@ bool get_phys_addr_with_space_nogpc(CPUARMState *env,= vaddr address, .in_mmu_idx =3D mmu_idx, .in_space =3D space, }; - return get_phys_addr_nogpc(env, &ptw, address, 1 << access_type, + return get_phys_addr_nogpc(env, &ptw, address, access_perm, memop, result, fi); } =20 diff --git a/target/arm/tcg/cpregs-at.c b/target/arm/tcg/cpregs-at.c index 398a61d398..c34fc6ec6f 100644 --- a/target/arm/tcg/cpregs-at.c +++ b/target/arm/tcg/cpregs-at.c @@ -38,7 +38,7 @@ static uint64_t do_ats_write(CPUARMState *env, uint64_t v= alue, * address of a successful translation. This is a translation not a * memory reference, so "memop =3D none =3D 0". */ - ret =3D get_phys_addr_with_space_nogpc(env, value, access_type, 0, + ret =3D get_phys_addr_with_space_nogpc(env, value, 1 << access_type, 0, mmu_idx, ss, &res, &fi); =20 /* --=20 2.43.0 From nobody Mon Dec 15 21:27:45 2025 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751922300; cv=none; d=zohomail.com; s=zohoarc; b=PjifZag1CEtMLKBs4vOSRGydbxtG51DxaGPZPdI4ZkJGiUMRVGcoUjbdi/2XRkNgP+dtZ8ogk6Fnovagg1gxU3TVZOV0ueRMR52QfoHMh/x7M87BZWfJEqsuRvU9B6dwhgGrH8PwzMmul0i3d9u6UnRYAFlUeDDNGPv7ab/kht8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751922300; 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=k38yCqEcXZTt8AdiQoJ4+WUqYn/DALJfBCjzKVHLCQU=; b=AC99dumWU6pR/PcMW50sdhc1Mj0VwuCgNW92ybrT2RyJfVh3tE1pP9586Wb4pyaXss6N4kk+icL5L0jdPwqxxJRu4RAufdH1tWEyft4pFCG3moeUGZYmE0EaLt2k+kpXZJ3hd9cZX3j7RW8ZCWn6zIOt64kGpk3MaMmBt3bzwM4= 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+importer=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 1751922300470867.8328966647447; Mon, 7 Jul 2025 14:05:00 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uYt0W-00042S-Os; Mon, 07 Jul 2025 17:04:12 -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 1uYsLP-0005Po-S9 for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:51 -0400 Received: from mail-qt1-x832.google.com ([2607:f8b0:4864:20::832]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uYsLO-0004MM-1d for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:43 -0400 Received: by mail-qt1-x832.google.com with SMTP id d75a77b69052e-4a9b08740e3so21558551cf.3 for ; Mon, 07 Jul 2025 13:21:41 -0700 (PDT) Received: from stoup.. ([172.58.142.143]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4a994a78dd4sm69050351cf.51.2025.07.07.13.21.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 13:21:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751919701; x=1752524501; 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=k38yCqEcXZTt8AdiQoJ4+WUqYn/DALJfBCjzKVHLCQU=; b=UT9Wi+7ZBusoKeyCgtlV6SNLEQUJSdJHP3ApDnOfl6O6/2wpNmv50VSjV5QBa5KtUy kIng/GRhbIaYStwAF+8cL6iEtdIFT0diRQ8p0Y6i/bLEGFNM37k9xT1qg8+WdkbuiH3S PyzdRUXdh2TAmcl70Vqkuhugji70nnTNUBNqZTH5D9qW00Nl5RB6U9+Ls+KaJBOkxEFJ CP68MOQphcmfoloAGzwL+EIKCCGGXKXeDJCsGzZQMD4hB/19rkdbxdNyWvPwWev5Xnw0 Bqw5wfr53cAPNwYL5RiWYE+DmZL78SEJcBtJUEbE1yp5iq2lAJfAqE9+eHDPym+SAYVY QupA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751919701; x=1752524501; 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=k38yCqEcXZTt8AdiQoJ4+WUqYn/DALJfBCjzKVHLCQU=; b=UOumTkBIX4wlQ1QK8QpaST7WYF9zDVXneJMUDDy9mGSgHeCRO5GJmX684ZL5J+GS+c 5hyHppOJEU/6+PydpQjvm1cBEPZZuczBPcJy6BYoBbKVIehoQZUOKQ8sTk9D2NU+o+bs Dt7l6e+GuHh8SQwale4CD+tvVXt9GvVk0TQIA8Tt2ra0/NrbHwVBDB7P0rTbuaq1t0Yu 3Cfz+1hYmkn6yWAdGFxWFoMSboXXRfHPCxovVL+NKiRW+wDLZNG+ZPgk4S+WUwcf8p7v ZossJONnGskNTwXiX//8ZAbAcketk5bf8WjwxXilwADw0uD2GVU42p7N7nPv70/mwKNX tLaA== X-Gm-Message-State: AOJu0YwyND+uLJmd7qPPNqrQMW8Xc1Pxsu4Fyo5GRjOV/EAVsal97QkY XJ7XORnPwd0v0IxYFDaSyKohKFBRgDSXQX4vMz+Z2XbG9m5KWHkezxwB8CZC01kMBH8rUtUKVDy SRTWu5As= X-Gm-Gg: ASbGnct8TQ8hTChAdOhCxvADbb0jDPkYJPfxmpqfLZ72sF35/eXejK9jQ2PXE20b6lG YRGHRFW/l5w/CLk2NBNr2QyfyIYja8u/qpkiW5J+Iv0w1/HoDFts2e9mqO82zYkZrRPMwNJqOoG /CpTICsiw4kbOrQM5U6BA8MJFRwbW/faR0ymv/65JjMmFzVhVepODP5OT3dwH3l0JTa5CBXwV5G itnGJ+UbPKz1wOU11huthXSlDHf7JGxQXWQJGmWhdBei3+JmKdhZyD+ipxGj/zr8WgUDIogylQb 3hIoy+k8VOr+l/063oiOH0+7AzeOXW5D2UDsbR7PBLsrFd24P1dRmTgOT9NWSV7pi8d12bPzHM3 E5c68br2BqfGfYaHu X-Google-Smtp-Source: AGHT+IEWlYJSpAN8GqowTVA5TQL7V4nW33kihqUK37B3dqVzar88UbfYfpDeKYf5xTjQHwGUJFrIDw== X-Received: by 2002:a05:622a:115:b0:4a7:f7f1:4c46 with SMTP id d75a77b69052e-4a9ccc74a4dmr9590211cf.5.1751919700494; Mon, 07 Jul 2025 13:21:40 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 14/20] target/arm: Convert get_phys_addr to access_perm Date: Mon, 7 Jul 2025 14:21:05 -0600 Message-ID: <20250707202111.293787-15-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250707202111.293787-1-richard.henderson@linaro.org> References: <20250707202111.293787-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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::832; envelope-from=richard.henderson@linaro.org; helo=mail-qt1-x832.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751922301768116600 Content-Type: text/plain; charset="utf-8" Complete the conversion of all routines in ptw.c from MMUAccessType access_type to an access_perm bitmask. Signed-off-by: Richard Henderson --- target/arm/internals.h | 4 ++-- target/arm/ptw.c | 4 ++-- target/arm/tcg/m_helper.c | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/target/arm/internals.h b/target/arm/internals.h index 20b49201cb..0844048ee8 100644 --- a/target/arm/internals.h +++ b/target/arm/internals.h @@ -1559,7 +1559,7 @@ typedef struct GetPhysAddrResult { * get_phys_addr: get the physical address for a virtual address * @env: CPUARMState * @address: virtual address to get physical address for - * @access_type: 0 for read, 1 for write, 2 for execute + * @access_perm: PAGE_{READ,WRITE,EXEC}, or 0 * @memop: memory operation feeding this access, or 0 for none * @mmu_idx: MMU index indicating required translation regime * @result: set on translation success. @@ -1579,7 +1579,7 @@ typedef struct GetPhysAddrResult { * value. */ bool get_phys_addr(CPUARMState *env, vaddr address, - MMUAccessType access_type, MemOp memop, ARMMMUIdx mmu_i= dx, + unsigned access_perm, MemOp memop, ARMMMUIdx mmu_idx, GetPhysAddrResult *result, ARMMMUFaultInfo *fi) __attribute__((nonnull)); =20 diff --git a/target/arm/ptw.c b/target/arm/ptw.c index 19e67fba67..fe005622da 100644 --- a/target/arm/ptw.c +++ b/target/arm/ptw.c @@ -3619,7 +3619,7 @@ arm_mmu_idx_to_security_space(CPUARMState *env, ARMMM= UIdx mmu_idx) } =20 bool get_phys_addr(CPUARMState *env, vaddr address, - MMUAccessType access_type, MemOp memop, ARMMMUIdx mmu_i= dx, + unsigned access_perm, MemOp memop, ARMMMUIdx mmu_idx, GetPhysAddrResult *result, ARMMMUFaultInfo *fi) { S1Translate ptw =3D { @@ -3627,7 +3627,7 @@ bool get_phys_addr(CPUARMState *env, vaddr address, .in_space =3D arm_mmu_idx_to_security_space(env, mmu_idx), }; =20 - return get_phys_addr_gpc(env, &ptw, address, 1 << access_type, + return get_phys_addr_gpc(env, &ptw, address, access_perm, memop, result, fi); } =20 diff --git a/target/arm/tcg/m_helper.c b/target/arm/tcg/m_helper.c index e52ab261be..454ee187a7 100644 --- a/target/arm/tcg/m_helper.c +++ b/target/arm/tcg/m_helper.c @@ -221,7 +221,7 @@ static bool v7m_stack_write(ARMCPU *cpu, uint32_t addr,= uint32_t value, int exc; bool exc_secure; =20 - if (get_phys_addr(env, addr, MMU_DATA_STORE, 0, mmu_idx, &res, &fi)) { + if (get_phys_addr(env, addr, PAGE_WRITE, 0, mmu_idx, &res, &fi)) { /* MPU/SAU lookup failed */ if (fi.type =3D=3D ARMFault_QEMU_SFault) { if (mode =3D=3D STACK_LAZYFP) { @@ -310,7 +310,7 @@ static bool v7m_stack_read(ARMCPU *cpu, uint32_t *dest,= uint32_t addr, bool exc_secure; uint32_t value; =20 - if (get_phys_addr(env, addr, MMU_DATA_LOAD, 0, mmu_idx, &res, &fi)) { + if (get_phys_addr(env, addr, PAGE_READ, 0, mmu_idx, &res, &fi)) { /* MPU/SAU lookup failed */ if (fi.type =3D=3D ARMFault_QEMU_SFault) { qemu_log_mask(CPU_LOG_INT, @@ -2008,7 +2008,7 @@ static bool v7m_read_half_insn(ARMCPU *cpu, ARMMMUIdx= mmu_idx, bool secure, "...really SecureFault with SFSR.INVEP\n"); return false; } - if (get_phys_addr(env, addr, MMU_INST_FETCH, 0, mmu_idx, &res, &fi)) { + if (get_phys_addr(env, addr, PAGE_EXEC, 0, mmu_idx, &res, &fi)) { /* the MPU lookup failed */ env->v7m.cfsr[env->v7m.secure] |=3D R_V7M_CFSR_IACCVIOL_MASK; armv7m_nvic_set_pending(env->nvic, ARMV7M_EXCP_MEM, env->v7m.secur= e); @@ -2044,7 +2044,7 @@ static bool v7m_read_sg_stack_word(ARMCPU *cpu, ARMMM= UIdx mmu_idx, ARMMMUFaultInfo fi =3D {}; uint32_t value; =20 - if (get_phys_addr(env, addr, MMU_DATA_LOAD, 0, mmu_idx, &res, &fi)) { + if (get_phys_addr(env, addr, PAGE_READ, 0, mmu_idx, &res, &fi)) { /* MPU/SAU lookup failed */ if (fi.type =3D=3D ARMFault_QEMU_SFault) { qemu_log_mask(CPU_LOG_INT, --=20 2.43.0 From nobody Mon Dec 15 21:27:45 2025 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751922056; cv=none; d=zohomail.com; s=zohoarc; b=Yibke+i6GmQxLDCjjiG6g3tDYj3UQoWZvAp737M6NVlZDDlvN2zCxpCWUlNXVpQSdYGJxpACGCRc2at6+u1uplwL/BnjfZRvsaoaTFt5KTAgmBZYsTddMKH5ByNVENmMK+EZoewjX+ZTvP950ggzYktQ2jOH/Gqb1RGH9QrWJ+I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751922056; 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=E8kG6y+ItxO1LXp5yeGaKBJvpXGAehBrhG5yVhHPlL4=; b=h80e1ww/vEKlq//CE8VNloqhQQL/urO+79pltvQq0WnjU+0Kry+QJTSKJRHeBTpvuFYPcrYaoXTHa9hqxtiVMRWw0nAmdI6j0bQVH3vv9fq/5xeB0IwJ8S862HQjv76IIPP2Q+/nNXmoRoPbHpf9vG6XkP3/Kz55yWTglH1qtiU= 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+importer=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 1751922056751604.4243566557296; Mon, 7 Jul 2025 14:00:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uYswk-0005Z3-Bo; Mon, 07 Jul 2025 17:00:18 -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 1uYsLS-0005QO-Ix for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:51 -0400 Received: from mail-qk1-x729.google.com ([2607:f8b0:4864:20::729]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uYsLP-0004Ml-HK for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:44 -0400 Received: by mail-qk1-x729.google.com with SMTP id af79cd13be357-7d0a2220fb0so521602385a.3 for ; Mon, 07 Jul 2025 13:21:43 -0700 (PDT) Received: from stoup.. ([172.58.142.143]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4a994a78dd4sm69050351cf.51.2025.07.07.13.21.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 13:21:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751919702; x=1752524502; 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=E8kG6y+ItxO1LXp5yeGaKBJvpXGAehBrhG5yVhHPlL4=; b=lmc39+0/3W9iuPdyu8SAy8sFwXK1ErpbjLZD3Jt1QipQdh5EnenbBWjcBMnuGpRi5x GaZvs8pIIT3wQk7rAWhj56ZiolhpAHL93XSJj8T33F7SpuS+3pBiekonu8x5mbN7w8Ua CO8CSA/Ulu0CRCDFtikUrFEtp51yG6pRaT3ZKrZ8o229Cisai4mwo5USMdqNJt5zXTS8 EA7zHRrZD7tz2wxA/XeYf5l2WJIKeEWF7AxW4RjLHO33lHX3EneKrT/krUlqPslOveVC azE5oG+6R8AfGcT0RmIZ1dbd04sRC9By3ca+sO5CjgMjzkOmXJP6WMSDqWsuuv6yYiOM 4Ekw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751919702; x=1752524502; 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=E8kG6y+ItxO1LXp5yeGaKBJvpXGAehBrhG5yVhHPlL4=; b=wle4tZlIQ3Sd587njn6XxFKyrgHRMrjLRvrsgNoHGGtgLdJA7m10auRmYWVI+Jzprl wsEPLgk1GwEXQ/NTlHrE9acjEAycSt73OMAflm4Qh53gb+78OC1JonhYKvg2gTfC5Qy9 DBqYdA38JB+qth3Wk7R3O7YNMWOXfb9zpcRKT/7iHXydCPTToNVaVyCSW2yDsKlS3vok OVs9wPHCu6AabsYPchm/9D5bDVF7BRIYxnWHYMHaGPSu+8T/8vExh3FLxSZ5a0dYu2x5 smNroXcIw4661hpl/n8JsxcUn6TGZBS9Pvf83w3i5VSArRHVknq4J9otduFw7MGQ93B3 nCxQ== X-Gm-Message-State: AOJu0Yw9moUjdxD4lZEdGWOU/kvmBHA0xfikv08Ojsks7vye17OCqOjG +IMYvWQXREwLu4wBOQE3xnbr62co948mj8xeA8RGr/U/HWsgr52sipMDoZkQrm33qmfe5Y6iZOH QdJuGqLc= X-Gm-Gg: ASbGncscEGN6Pj5hSsxLFGVecLaIctLlVJFu+T1cvbQmyXpRLxpGWfBl+c+SznBe3Cp yLqW3yFe7MDqcZn4yge+4iC+B0LGCe3AsZ/10Ocm+GghPkOy+IT6lp5myoYmxnTRqdmcJykzIER v1EPdkLghGJl010fA2zpFKvk5Xgnx9+eQSAUo1KgjuQ4NC1d+mms9S//Gdm7sSYYXx2YPAEkmfh 0kkErQOYicYQabpm9eDSM1uhh/rV8RuIJUaav+sV/akZ+BMYEt3c46QUwC6za7diVZsxOBGKD// BTX7eH8rrN45N2xCogbNMrqQQbfuEJ4I2b1Eo96+VhoiM0OzlvX0VHqNOLeQdg6LOKudDled7jq uSQi7UEYmCzn9coHje3pQnflR2/I= X-Google-Smtp-Source: AGHT+IFNyQd5x3YqdKK1d1C4UYzuWmgR4Hknvfy1iudZWeigiKDcFl0dFqZvzGLvYHbqUBTHva+uhw== X-Received: by 2002:a05:620a:2854:b0:7d4:4004:307a with SMTP id af79cd13be357-7d5df13b664mr1219334985a.29.1751919702061; Mon, 07 Jul 2025 13:21:42 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 15/20] target/arm: Skip permission check from arm_cpu_get_phys_page_attrs_debug Date: Mon, 7 Jul 2025 14:21:06 -0600 Message-ID: <20250707202111.293787-16-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250707202111.293787-1-richard.henderson@linaro.org> References: <20250707202111.293787-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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::729; envelope-from=richard.henderson@linaro.org; helo=mail-qk1-x729.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751922058458116600 Content-Type: text/plain; charset="utf-8" Do not require read permission when translating addresses for debugging purposes. Signed-off-by: Richard Henderson --- target/arm/ptw.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/arm/ptw.c b/target/arm/ptw.c index fe005622da..c1fe53965c 100644 --- a/target/arm/ptw.c +++ b/target/arm/ptw.c @@ -3641,7 +3641,7 @@ static hwaddr arm_cpu_get_phys_page(CPUARMState *env,= vaddr addr, }; GetPhysAddrResult res =3D {}; ARMMMUFaultInfo fi =3D {}; - bool ret =3D get_phys_addr_gpc(env, &ptw, addr, PAGE_READ, 0, &res, &f= i); + bool ret =3D get_phys_addr_gpc(env, &ptw, addr, 0, 0, &res, &fi); *attrs =3D res.f.attrs; =20 if (ret) { --=20 2.43.0 From nobody Mon Dec 15 21:27:45 2025 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751922291; cv=none; d=zohomail.com; s=zohoarc; b=SUmRYLQ5YUoebL7dXmWcADbF9vtnrxmpiTFP29Zz6UyKnT4Xv49RjaOW0c4nB/m2SPZn+WrS2Kn8e5rGZNm2VxxT4Vy1IpQ1hRLudCAYz6SclGGzWDDyXJhVfrLGmhafQI2rJI9Ayv/ZD4jNUPs/2z4UwmClUvrAZHitpcjSVcw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751922291; 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=UcOaztiRFujwM8Q+/rW8sEgsaMvxPs1FzhzS5/SBNWQ=; b=dQteMzQpMDv8WWRbL8kK2TBrcV2ZTGm0/mjxVxSUp/ay4fRlzgjqN4mJAPwO04FLSPoXhlkyLNVLz3vQsEgzfgaaVUfLLByJWDd8WoyhIoh/xmiWL/uaQCk/6lCOtu1y9phjDmRXu12NrbswJqGqhwX1aXDR73VDG9aqfiKpA5c= 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+importer=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 1751922291356848.46515826845; Mon, 7 Jul 2025 14:04:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uYt0f-0004ZW-CD; Mon, 07 Jul 2025 17:04:21 -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 1uYsLW-0005R7-VE for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:54 -0400 Received: from mail-qt1-x836.google.com ([2607:f8b0:4864:20::836]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uYsLR-0004N9-TX for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:47 -0400 Received: by mail-qt1-x836.google.com with SMTP id d75a77b69052e-4a9bff7fc6dso11459181cf.1 for ; Mon, 07 Jul 2025 13:21:44 -0700 (PDT) Received: from stoup.. ([172.58.142.143]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4a994a78dd4sm69050351cf.51.2025.07.07.13.21.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 13:21:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751919704; x=1752524504; 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=UcOaztiRFujwM8Q+/rW8sEgsaMvxPs1FzhzS5/SBNWQ=; b=ETJXC4Z2pBciI/VJUXbBqPrTME1CvonVbYzLzVcMvtqvBae7ah2jstUDxkNCR1D87w XHcHtP5vERkDrOSileQ0CC6N4SbjvHdFY0Z9b7bMZBDPvs4Zxpq/X0otATLVVPwLOjYd yD6kgOQ0dkHBZAQ1Qy+wyXwCIdi31Ee30muDvyCPEPC3TNn1s/ZXTO7l7jqKUnTuNZkk wLeJmwJhasAz/zSBeIF4YDq6Yali4BRNTle8fAxiPPEsxV0VopD44oFbQiNLTKM+KQyO wGp0W1YhF/hjb7MMMq2ltDnikfbIny8Os9r+lGspH5dip1jU4GaaT0cApqHe7q9PpmBN dotg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751919704; x=1752524504; 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=UcOaztiRFujwM8Q+/rW8sEgsaMvxPs1FzhzS5/SBNWQ=; b=egX88km9C4F3Hld2Fngs7CdvfCzWFds7aVPYgK3T5xwVKwkUWrTsOOWfUe2E0LpSy8 fHB4qPD9fneCWms25OBVGgwXBQuZ6hEdnQDKHh089fmQ6Hl5fTpScAmvnU0KtDKm/vUd 3oCDH9qc4ullghsp3eYxA3jrfWMemLd4eKWrZW87o9mZke+E5n4hrNLKz2DfQr0inPYd 5p6gFEjIGGa6SlV6zBdOb1Jfn8oD4zCg31W+4Rse+jNpMPZGSjIJyX0jdA1mNpQfECA5 x4G/TYOggnq0L5aXE0gMK+E8vvQrw9M/HlyQF4Y/NCMAlyI2PgmP1A0z64dt6OMpUgdH B8fg== X-Gm-Message-State: AOJu0YxX4OOB4l0+H9gYmNv5puZyu3+vFIOlbeGm5lbvshrio2wUU7fT gJ7scPcQljsoYWWAmWZA2aQzSyKv31zoK1xWhfEoo4nO/TNsn7UmWRR6XzN4FKacr7W3epPuJQp bCQRK+WY= X-Gm-Gg: ASbGncvo0VMtYh3uPlV5gZApxwAirnF0AJyAuhd13jUSeAX8sJT5pc1HheUiaXUdrGs glq6XJs/DGnGtZOpOxwdapv+ar0Z+Uhltbl7eKJeZRplCWESyzdd6UNGVK9mv8gELsw9tmt+c9K jTy22ytl2iWlelsTcswfFa9gU3NTsQm/mdQ8fJOeyvZr0yBHHdxJiKtg1gSoeNXTiMCitN7TnAH 3ld8Ha1BURBLd5QyiKqoYripY1slbm5b7wk1jGwb9UVUgZPBP0q3hEYwVY/wUWQ8lFuxfWPy68d of5PXCClOtfpK9z2QuecgjoU51GLZ162FKLr2xppVwS/T/Z2H+X2HYgeoJITrU6k7WBPtpE5jl/ e8TH/aXrmvSN7A2cQ X-Google-Smtp-Source: AGHT+IF7dPdOFBCd6biW+fI3tOYHLV357pzNDh2FxmHgScJGPzy+bs1yyAlH4EaAboMqIzXeJsfhlw== X-Received: by 2002:a05:622a:a908:b0:4a9:76fb:7eaa with SMTP id d75a77b69052e-4a9ce74bc99mr403641cf.0.1751919703602; Mon, 07 Jul 2025 13:21:43 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 16/20] target/arm: Introduce get_phys_addr_for_at Date: Mon, 7 Jul 2025 14:21:07 -0600 Message-ID: <20250707202111.293787-17-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250707202111.293787-1-richard.henderson@linaro.org> References: <20250707202111.293787-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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::836; envelope-from=richard.henderson@linaro.org; helo=mail-qt1-x836.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751922293691116600 Content-Type: text/plain; charset="utf-8" Rename get_phys_addr_with_space_nogpc for its only caller, do_ats_write. Drop the MemOp memop argument as it doesn't make sense in the new context. Signed-off-by: Richard Henderson --- target/arm/internals.h | 17 +++++++---------- target/arm/ptw.c | 17 ++++++++++------- target/arm/tcg/cpregs-at.c | 9 ++------- 3 files changed, 19 insertions(+), 24 deletions(-) diff --git a/target/arm/internals.h b/target/arm/internals.h index 0844048ee8..6aea942d06 100644 --- a/target/arm/internals.h +++ b/target/arm/internals.h @@ -1584,25 +1584,22 @@ bool get_phys_addr(CPUARMState *env, vaddr address, __attribute__((nonnull)); =20 /** - * get_phys_addr_with_space_nogpc: get the physical address for a virtual - * address + * get_phys_addr_for_at: * @env: CPUARMState * @address: virtual address to get physical address for * @access_perm: PAGE_{READ,WRITE,EXEC}, or 0 - * @memop: memory operation feeding this access, or 0 for none * @mmu_idx: MMU index indicating required translation regime * @space: security space for the access * @result: set on translation success. * @fi: set to fault info if the translation fails * - * Similar to get_phys_addr, but use the given security space and don't pe= rform - * a Granule Protection Check on the resulting address. + * Similar to get_phys_addr, but for use by AccessType_AT, i.e. + * system instructions for address translation. */ -bool get_phys_addr_with_space_nogpc(CPUARMState *env, vaddr address, - unsigned access_perm, MemOp memop, - ARMMMUIdx mmu_idx, ARMSecuritySpace sp= ace, - GetPhysAddrResult *result, - ARMMMUFaultInfo *fi) +bool get_phys_addr_for_at(CPUARMState *env, vaddr address, + unsigned access_perm, ARMMMUIdx mmu_idx, + ARMSecuritySpace space, GetPhysAddrResult *resul= t, + ARMMMUFaultInfo *fi) __attribute__((nonnull)); =20 bool pmsav8_mpu_lookup(CPUARMState *env, uint32_t address, diff --git a/target/arm/ptw.c b/target/arm/ptw.c index c1fe53965c..19a53ec707 100644 --- a/target/arm/ptw.c +++ b/target/arm/ptw.c @@ -3538,18 +3538,21 @@ static bool get_phys_addr_gpc(CPUARMState *env, S1T= ranslate *ptw, return false; } =20 -bool get_phys_addr_with_space_nogpc(CPUARMState *env, vaddr address, - unsigned access_perm, MemOp memop, - ARMMMUIdx mmu_idx, ARMSecuritySpace sp= ace, - GetPhysAddrResult *result, - ARMMMUFaultInfo *fi) +bool get_phys_addr_for_at(CPUARMState *env, vaddr address, + unsigned access_perm, ARMMMUIdx mmu_idx, + ARMSecuritySpace space, GetPhysAddrResult *resul= t, + ARMMMUFaultInfo *fi) { S1Translate ptw =3D { .in_mmu_idx =3D mmu_idx, .in_space =3D space, }; - return get_phys_addr_nogpc(env, &ptw, address, access_perm, - memop, result, fi); + /* + * I_MXTJT: Granule protection checks are not performed on the final + * address of a successful translation. This is a translation not a + * memory reference, so "memop =3D none =3D 0". + */ + return get_phys_addr_nogpc(env, &ptw, address, access_perm, 0, result,= fi); } =20 static ARMSecuritySpace diff --git a/target/arm/tcg/cpregs-at.c b/target/arm/tcg/cpregs-at.c index c34fc6ec6f..e79866e651 100644 --- a/target/arm/tcg/cpregs-at.c +++ b/target/arm/tcg/cpregs-at.c @@ -33,13 +33,8 @@ static uint64_t do_ats_write(CPUARMState *env, uint64_t = value, ARMMMUFaultInfo fi =3D {}; GetPhysAddrResult res =3D {}; =20 - /* - * I_MXTJT: Granule protection checks are not performed on the final - * address of a successful translation. This is a translation not a - * memory reference, so "memop =3D none =3D 0". - */ - ret =3D get_phys_addr_with_space_nogpc(env, value, 1 << access_type, 0, - mmu_idx, ss, &res, &fi); + ret =3D get_phys_addr_for_at(env, value, 1 << access_type, + mmu_idx, ss, &res, &fi); =20 /* * ATS operations only do S1 or S1+S2 translations, so we never --=20 2.43.0 From nobody Mon Dec 15 21:27:45 2025 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751922271; cv=none; d=zohomail.com; s=zohoarc; b=nksempSMMvlRFDLqb4OPX8v8jslx0ECrY2xL9KUVtym//z7YQBincLRRaAAqSoN2Hoh0ruuIv2Mn10c/+SBkOiC5EJjlezzTuMrZ+M6tdzQQiJ/TaftcUyQLlxoTSLJYBnK9L2CmUL3fIRbvo6FAd86LIdDGR1SPDazaAYW5cng= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751922271; 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=EnkAI+0vH5Q8DiMF28uLi2XSCeCpfBYEqjdtiHYhus8=; b=GKHTZf2ySlGp91pFYVj91CO3t+GLI4m+MDqdJiUVCxJQ6i8EzcUK1vIojovmO/zVha9rLgcxetfGGqxwbSyBsHbewM5UPw6o2+Gl+DiQHME8PEdXSx19YQ4D3LWACI13M3xBK8O14DIkX9WLUM2Hik2PDn2bbE+3mfpkIJVk2VM= 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+importer=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 1751922271553697.9467209626984; Mon, 7 Jul 2025 14:04:31 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uYszZ-00018R-J2; Mon, 07 Jul 2025 17:03: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 1uYsLY-0005RW-BK for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:22:05 -0400 Received: from mail-qt1-x82c.google.com ([2607:f8b0:4864:20::82c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uYsLU-0004NS-SC for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:52 -0400 Received: by mail-qt1-x82c.google.com with SMTP id d75a77b69052e-4a752944794so40220171cf.3 for ; Mon, 07 Jul 2025 13:21:46 -0700 (PDT) Received: from stoup.. ([172.58.142.143]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4a994a78dd4sm69050351cf.51.2025.07.07.13.21.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 13:21:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751919705; x=1752524505; 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=EnkAI+0vH5Q8DiMF28uLi2XSCeCpfBYEqjdtiHYhus8=; b=a8ancvMVLwA+PvPzBxPNoaCo1fbTs43dPlxFGiZNcdLDP0rdAGOY/zL3o9gZbq8c5n zrb7L6ELgqpvQblZbkgwtYk6iSpNU/L33+6iOboWGdViaEbvYd4ZZ5Uluzz3Lw/6NGWB VhSLnZpyeGf+Zc1VeQkSnLCEFszDysklC4F9pfqHA4efdmFLhOIdfoJb3oRGoY0PF0CI HcFuvg8HTldosclCdXKkoi3cs7jP4PqEdbPzyht1FR7ocVSZdqPin5CsaKJgFLJ8nZZV e+JH1PNao2a51Ee9zuUoVSUMHEzT8QsLcIR7pDDwOTOu/V5wk1rrkqFf1MSMuaUbHX4N omFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751919705; x=1752524505; 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=EnkAI+0vH5Q8DiMF28uLi2XSCeCpfBYEqjdtiHYhus8=; b=Yk1jnykGa5w8HDcHhgXPG095wgS7Cznz1y4an34mRZxMcG8/ypWsstylJnGaJsTIkn oEowmUp+aRDW09PxOPWTD8e1nRGWbsBHykqh21dtZEhGaP2+NRaqvKRK4hjFI44q7Mc5 gZN/59Bhoy25vWgd6+pdYpS5xL9gRg+zt5f3VyJ/UtZolu9aIugA5UJ9KhwhvfzAtmEW IgK89PnlPPd7945MvXNP4xuB0cQiLCWGpQkrBKSDV/vL2BFNF4oSQNnY/OJftRHAsRCO 5gYVLlX8++ChtdNH5D7I7twsGtksArCgrRhG17Cy3bwkMUKDTY99tUVmDjAfJtA6kKcD XcAQ== X-Gm-Message-State: AOJu0YyYaNL7wH44Ur1c8A2budIdBUyEQrVM2uSSUOpM+P+wa1p3knAx yCXkyzjtK+Q/kJqK9K0Pj5BNMYa0R20YcHCUvJGGc221JJmROWpCsGoP5RT6lCZK4fes3aFQJtJ MKnkWgyM= X-Gm-Gg: ASbGncsp2otMjkMiF5MGYGJpvSIpb4i3Yg2+Lt5s2Js70iSYsD5hpWDEtTie6cIKGjK MD4zPGaDExgB6hvyHbaqGfdAvdeh2y7p51odbzmu17tLv1b8uanQmfgs57QsjZf6Kz5kVmSpGei iSuxDy1w8iGn8xpYzompWXdoo86itDNSCAqxbdenAupeikiKEh8/6+CWr1jVuNvXhkl4jaqbxA5 PAGJrA/DJcJDf/RA9UqCey+8r5kd5QSZaItHaAIeKqwBjodFiPpjiQVqLuOR5QKwoZFLG6uvjmP isi9aHXmEl+e71XpdwdGvd5cOaY74zRUR9GylDocKRZXEGsysCPs08mSIkMYy9bB4oaCO4ys+Xo NnFnDmn09Bpv0JBK8 X-Google-Smtp-Source: AGHT+IEP6xvsYBv4AEeWUmY/PXE/8JsQAShIYTIdC7GgT+0FOgbQUK2dMpvjI91Vb731hqLpo3Wjwg== X-Received: by 2002:ac8:7d04:0:b0:4a6:ef86:19a1 with SMTP id d75a77b69052e-4a9ccac270bmr11148061cf.16.1751919705534; Mon, 07 Jul 2025 13:21:45 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 17/20] target/arm: Skip AF and DB updates for AccessType_AT Date: Mon, 7 Jul 2025 14:21:08 -0600 Message-ID: <20250707202111.293787-18-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250707202111.293787-1-richard.henderson@linaro.org> References: <20250707202111.293787-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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::82c; envelope-from=richard.henderson@linaro.org; helo=mail-qt1-x82c.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=unavailable 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751922273496116600 Content-Type: text/plain; charset="utf-8" We are required to skip DB update for AT instructions, and we are allowed to skip AF updates. Choose to skip both. Signed-off-by: Richard Henderson --- target/arm/ptw.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/target/arm/ptw.c b/target/arm/ptw.c index 19a53ec707..ecb20f65e5 100644 --- a/target/arm/ptw.c +++ b/target/arm/ptw.c @@ -58,6 +58,10 @@ typedef struct S1Translate { * and will not change the state of the softmmu TLBs. */ bool in_debug; + /* + * in_at: is this AccessType_AT? + */ + bool in_at; /* * If this is stage 2 of a stage 1+2 page table walk, then this must * be true if stage 1 is an EL0 access; otherwise this is ignored. @@ -1922,7 +1926,14 @@ static bool get_phys_addr_lpae(CPUARMState *env, S1T= ranslate *ptw, descaddr &=3D ~(hwaddr)(page_size - 1); descaddr |=3D (address & (page_size - 1)); =20 - if (likely(!ptw->in_debug)) { + /* + * For debug, never change cpu state, so do not update AF or DB. + * + * For AccessType_AT, DB is not updated (AArch64.SetDirtyFlag), + * and it is IMPLEMENTATION DEFINED whether AF is updated + * (AArch64.SetAccessFlag; qemu chooses to not update). + */ + if (likely(!ptw->in_debug && !ptw->in_at)) { /* * Access flag. * If HA is enabled, prepare to update the descriptor below. @@ -3546,6 +3557,7 @@ bool get_phys_addr_for_at(CPUARMState *env, vaddr add= ress, S1Translate ptw =3D { .in_mmu_idx =3D mmu_idx, .in_space =3D space, + .in_at =3D true, }; /* * I_MXTJT: Granule protection checks are not performed on the final --=20 2.43.0 From nobody Mon Dec 15 21:27:45 2025 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751922390; cv=none; d=zohomail.com; s=zohoarc; b=GJInjZ9/1SUrIlDwpJLDH2BFMsfLD7ZPU8MWzuIYFjVWSE9z2DCEnsNpJfWHIhQOYQmSVJtBb+gqrW111WdpV3KkCfdJktlsKtj8nmdKrDx2TWNYlPgSHOQSAFBXdWuv5yJ8+zWz+sDZw/YxtKXuk5Y86lbgJ0mhY+E0+7rxmZE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751922390; 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=6MliDKdTKGlgBv1q4BM2bRtbciL0yD7VmHEPhXciATY=; b=jGy5PRDj/RtRALAS21ScmHIGtYdGgEokqNXQYOGifKraEPk68qpf5H9rO1eAVMXtUME0UtErzk3o+x7QRzsTXIB74j0+9bPo/hRNL8RhyuoAjoAohZqGDNnY5Bg9p4gQjuKN2+SPG4iZHxNjtlfn4O7PCoYo62dtYJEf+d4GGYQ= 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+importer=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 1751922390889559.8749673471381; Mon, 7 Jul 2025 14:06:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uYt2i-0000of-Os; Mon, 07 Jul 2025 17:06:28 -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 1uYsLZ-0005Ri-Iz for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:22:05 -0400 Received: from mail-qt1-x835.google.com ([2607:f8b0:4864:20::835]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uYsLW-0004Nx-Ep for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:53 -0400 Received: by mail-qt1-x835.google.com with SMTP id d75a77b69052e-4a589b7dd5fso61301951cf.0 for ; Mon, 07 Jul 2025 13:21:48 -0700 (PDT) Received: from stoup.. ([172.58.142.143]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4a994a78dd4sm69050351cf.51.2025.07.07.13.21.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 13:21:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751919707; x=1752524507; 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=6MliDKdTKGlgBv1q4BM2bRtbciL0yD7VmHEPhXciATY=; b=mQBdiGuA1EDRTiN2CPIRCo0SyagGd6/gR2zUEVnlaq0SqhiJdFVR4EskbtwP+gfVoH I7izhwiec73Vo62LEyJ7PrbOcyvabdQfm3QvRvn/O6fyIB1uO/cYEg4dxQpxneec5zmD 9r8+S5mcLRu9XKpSV6hOfIIAgIbn8KO5Woxj1McS06WxMNhs2OVCsbkOo/phfNg3p+rC KmgwRwSx2lYSfUp3Er4mXn9gvvsrhDoHzhljFJ5+aSTw8Qm1T7TzJ1YxiQTPiSCHyAI6 hWtqznqZGUFnMNuLPtoyZKoPH4i5efafgGaauA25RUTrHR1jq+0xbN1Ig4XSr/cIo6lW bmXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751919707; x=1752524507; 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=6MliDKdTKGlgBv1q4BM2bRtbciL0yD7VmHEPhXciATY=; b=Zr79O/lcPoq5mMFI4Q6tW9nTQdYcvcy1iv5B5HE/eIBZ6HvYzkGCFzNBM+pZZQb4+8 HixwBh7MjbVZOSBeY8qACzS7DrlY5m2fqNjIQEgdzC9D465Oc4xQmWrBmlCCObjftkb5 ipRwb7MwdhFdJOXYlWFfIZWNzQ0j56cm4aFH8+XtGlWw8pykHKhmoyWl/weHydMeDAmp PxdsjHXps73eD0ylK93/CZU2YJS6405YjQSwV0H4doo7OyIF4qowI9yEovS1/G+pZDnA r9ftTRfcU3PK9rOgMZrY0/NFMqp7oKIumo93O2mH/7tS7OiuZFpLK22sFpdCmObuiXkD SPUw== X-Gm-Message-State: AOJu0YyCOlkmDPrX2UTg4b8XAnhxakHnLsqHYKxoBQs1kh2cDVI5N7u6 ODBL0Z+33WPTVmpSCJP43AvQQFX0FXWOMBUnsm+SH+czWH4r2IPqIBNDEw15bZT2rulhGf/FiQT p+iAW+PQ= X-Gm-Gg: ASbGncsngbnHARwWVx4zMV+nBDljRlp6ZSa8AUJ8J5eWvQR8Jm36JbN1hyPKsiHM2if wCYNDGf9yfZHqMHuzzLzvxRFG6/l3/Rq+T8eP0HS0CQ3l0Js4H4EZ3Tf6F1PO78FeplMQGeJiPx 6X5kaBALeTdgdINxIFevybQnw/kfbAnC8dRSxfjuQGIQAlsRRdClrb2DDBB/o4OmMcJb2u9LsSf BT3NkTP2PZ5+M/q9ZGYupuRRlpQ+X6FC0RVT1usXvrtK/2LLh15TRR6tJjdXMhWp+zmXCOvE2B6 OFEfh/C83D9+aEv5xRovOA1GodElCO7BW+DnNILN7nWdEQK6f3fJb+n6Vm2om5FOTrsXmwLuz5V ND+g7mbsW44CfMHOY X-Google-Smtp-Source: AGHT+IGE9+Dm/VXk1Ly3nZ7JDsI3bgRrHiIyTSNALchRuSZxOXbMGjooHLwJVOLLIQwNTMLGZZIVQw== X-Received: by 2002:ac8:5a43:0:b0:4a4:4103:f301 with SMTP id d75a77b69052e-4a9cc4d21a0mr12602411cf.0.1751919707143; Mon, 07 Jul 2025 13:21:47 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 18/20] target/arm: Convert do_ats_write to access_perm Date: Mon, 7 Jul 2025 14:21:09 -0600 Message-ID: <20250707202111.293787-19-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250707202111.293787-1-richard.henderson@linaro.org> References: <20250707202111.293787-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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::835; envelope-from=richard.henderson@linaro.org; helo=mail-qt1-x835.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=unavailable 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751922392828116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson --- target/arm/tcg/cpregs-at.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/target/arm/tcg/cpregs-at.c b/target/arm/tcg/cpregs-at.c index e79866e651..39141c83aa 100644 --- a/target/arm/tcg/cpregs-at.c +++ b/target/arm/tcg/cpregs-at.c @@ -24,7 +24,7 @@ static int par_el1_shareability(GetPhysAddrResult *res) } =20 static uint64_t do_ats_write(CPUARMState *env, uint64_t value, - MMUAccessType access_type, ARMMMUIdx mmu_idx, + unsigned access_perm, ARMMMUIdx mmu_idx, ARMSecuritySpace ss) { bool ret; @@ -33,7 +33,7 @@ static uint64_t do_ats_write(CPUARMState *env, uint64_t v= alue, ARMMMUFaultInfo fi =3D {}; GetPhysAddrResult res =3D {}; =20 - ret =3D get_phys_addr_for_at(env, value, 1 << access_type, + ret =3D get_phys_addr_for_at(env, value, access_perm, mmu_idx, ss, &res, &fi); =20 /* @@ -193,7 +193,7 @@ static uint64_t do_ats_write(CPUARMState *env, uint64_t= value, =20 static void ats_write(CPUARMState *env, const ARMCPRegInfo *ri, uint64_t v= alue) { - MMUAccessType access_type =3D ri->opc2 & 1 ? MMU_DATA_STORE : MMU_DATA= _LOAD; + unsigned access_perm =3D ri->opc2 & 1 ? PAGE_WRITE : PAGE_READ; uint64_t par64; ARMMMUIdx mmu_idx; int el =3D arm_current_el(env); @@ -255,7 +255,7 @@ static void ats_write(CPUARMState *env, const ARMCPRegI= nfo *ri, uint64_t value) g_assert_not_reached(); } =20 - par64 =3D do_ats_write(env, value, access_type, mmu_idx, ss); + par64 =3D do_ats_write(env, value, access_perm, mmu_idx, ss); =20 A32_BANKED_CURRENT_REG_SET(env, par, par64); } @@ -263,11 +263,11 @@ static void ats_write(CPUARMState *env, const ARMCPRe= gInfo *ri, uint64_t value) static void ats1h_write(CPUARMState *env, const ARMCPRegInfo *ri, uint64_t value) { - MMUAccessType access_type =3D ri->opc2 & 1 ? MMU_DATA_STORE : MMU_DATA= _LOAD; + unsigned access_perm =3D ri->opc2 & 1 ? PAGE_WRITE : PAGE_READ; uint64_t par64; =20 /* There is no SecureEL2 for AArch32. */ - par64 =3D do_ats_write(env, value, access_type, ARMMMUIdx_E2, + par64 =3D do_ats_write(env, value, access_perm, ARMMMUIdx_E2, ARMSS_NonSecure); =20 A32_BANKED_CURRENT_REG_SET(env, par, par64); @@ -311,7 +311,7 @@ static CPAccessResult at_s1e01_access(CPUARMState *env,= const ARMCPRegInfo *ri, static void ats_write64(CPUARMState *env, const ARMCPRegInfo *ri, uint64_t value) { - MMUAccessType access_type =3D ri->opc2 & 1 ? MMU_DATA_STORE : MMU_DATA= _LOAD; + unsigned access_perm =3D ri->opc2 & 1 ? PAGE_WRITE : PAGE_READ; ARMMMUIdx mmu_idx; uint64_t hcr_el2 =3D arm_hcr_el2_eff(env); bool regime_e20 =3D (hcr_el2 & (HCR_E2H | HCR_TGE)) =3D=3D (HCR_E2H | = HCR_TGE); @@ -354,7 +354,7 @@ static void ats_write64(CPUARMState *env, const ARMCPRe= gInfo *ri, } =20 ss =3D for_el3 ? arm_security_space(env) : arm_security_space_below_el= 3(env); - env->cp15.par_el[1] =3D do_ats_write(env, value, access_type, mmu_idx,= ss); + env->cp15.par_el[1] =3D do_ats_write(env, value, access_perm, mmu_idx,= ss); } =20 static CPAccessResult ats_access(CPUARMState *env, const ARMCPRegInfo *ri, --=20 2.43.0 From nobody Mon Dec 15 21:27:45 2025 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751922255; cv=none; d=zohomail.com; s=zohoarc; b=fOpaZvq8eIcnrqmFfcanxqCzW6NEyom12et12AYBvo6Lfpk5wAQ35w/p+1oKBWOLqbazagwTRqbOr5OLKjX5uP6RbN6VhjVWG36Zb8DFNEDB2PZF4xoWPYS1i0NsPdQB97tl48LEZCEdJfZW9JrR2lBbhmjWDFP7JoidpIL9L6Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751922255; 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=v1dN+jHhreiyd8r0k++CMedUplUxYHL5uF378IW34go=; b=i5xI7s42Gjk5jG0Q0HWVqgCJnGxhMZ1m2tkilY99hHphBCMSS3ytbGA5ANNlqkt/RFJEn6Jxo3PJWSorOf4iI+mImV6xO7RGGJ+8UXiZM2o4XuchEy7lytMjA8DYeBdMvZsJY7Xydr6tReSa1Rd0U94eFe/JqduTR6KT9eZbrtk= 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+importer=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 1751922255366141.93034847186345; Mon, 7 Jul 2025 14:04:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uYszI-0000ew-BR; Mon, 07 Jul 2025 17:02:57 -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 1uYsLZ-0005Re-FX for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:22:05 -0400 Received: from mail-qt1-x830.google.com ([2607:f8b0:4864:20::830]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uYsLW-0004OM-Oe for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:53 -0400 Received: by mail-qt1-x830.google.com with SMTP id d75a77b69052e-4a76ea97cefso37223231cf.2 for ; Mon, 07 Jul 2025 13:21:49 -0700 (PDT) Received: from stoup.. ([172.58.142.143]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4a994a78dd4sm69050351cf.51.2025.07.07.13.21.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 13:21:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751919709; x=1752524509; 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=v1dN+jHhreiyd8r0k++CMedUplUxYHL5uF378IW34go=; b=ihJ1GELsI8TSNfgYivD2oQJnlJeSLLIM0gJfFbtgnIi7vUJKt3qUd2EfpsjB4bZeNK VGtotiEHOdGtkc6aq9zePiTo2PHnJa/dq2Twb3hVI7S47Py3KnF99ajBOI5Rj+Ggi0jT s7wE3hteq5i+0O8TcPotupHITYOBUtLNxtrQOEjdURAegkHArYLEN5GKUkZTlNIInOs+ n532k8wK6KyRU+Vls4yAM6GWlpjUHrVNd+18Nebj/wmymfXs/mqUE/N4m5QQV6exqEes iIIFqVCJD4dNLUUasWUR08veukIE+68H8Zvx3KgQEO+fe1tmAwxwb/+AJmUpYtb8JuQt yoUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751919709; x=1752524509; 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=v1dN+jHhreiyd8r0k++CMedUplUxYHL5uF378IW34go=; b=YzUGv4pDWknVnplp+2FKkyjJqj8KOTFDQ74b8edPQmhsj9Vr3x+IhMoPlkKRIV73wI n3KxXvFU+6r58obgjBWfToqic3emPi2aL3/qjCmUlDHO1Oe7rf6NatlO1wLBqcnD6RBA QhSWNWZcDz3iQ4adal5qq9/lEgpPB1w7yTD0evSCWoGbkLR3W3k9LdNGZ0sZ9rNy39RK S3a8x18z8IVBuoSTHsPxCxaNeHPNrp9CHTV7u7/pAelgQ4ESUPYyGoRL0q9V11rH/JDL E6ouMxiN5pW8wL50ACskWukUnZbJ69KRygoRXEPa8ygIurD0nqabSFydszhrBjZHS8Bx p5cw== X-Gm-Message-State: AOJu0YzTBebWSmFMB5kMDNnTpipMUldkZ39us/69cjOFwdRCh8DekDZI 3Sn694Gknx8JUq7p+r6H3RPbdar6dGd1kfrlsoGk0oas56XEq0sE8m5dhdiBNIfvVtLMolQHp9l untcgRF8= X-Gm-Gg: ASbGncvwBWZEUwZj5g8PS1/gUuwv+ToLYz8Z+kiKZmsh8YOW3zD5cB8T5u693vTnH/E 91NkuCyOuNAvkxs5vS2wdClQ+MkFazJVqVOOX5/uh0WwMPp57WEd2DQsNGq6Wpmk0noE9Qb5er2 lR0wZJHqNkiBgc9wvu7vZ0shh6wYmF2HgGmyOtjEVh5JrM41nYnDAFTH84V5TbKV3UhM2H96WOl x3iA/VBPgc8zTXMSjCqJlWenZdv6mXgn0pL+acrC7zLQjBorJckubMQw+Yr0zll97pxo9reRf5J 5H9b3mRkN13kaJD1HO0sBnmbBt/M2WmK+oWDDa4yHJD7TUe9fMoPAN+wEUZ4QZWByuWwWvEmaCA AQS/IWaR9HJZ3pHA2 X-Google-Smtp-Source: AGHT+IGo4Kyvy+fjrB7If19eE5TCJb9sGzmg0NN+UyiUIB1nHGmH3/hFe3yO73RFLdCSsD2T8FPB9A== X-Received: by 2002:a05:622a:198a:b0:4a9:c3ae:ab90 with SMTP id d75a77b69052e-4a9cae7b5a3mr25859431cf.3.1751919708882; Mon, 07 Jul 2025 13:21:48 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 19/20] target/arm: Fill in HFGITR_EL2 bits for Arm v9.5 Date: Mon, 7 Jul 2025 14:21:10 -0600 Message-ID: <20250707202111.293787-20-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250707202111.293787-1-richard.henderson@linaro.org> References: <20250707202111.293787-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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::830; envelope-from=richard.henderson@linaro.org; helo=mail-qt1-x830.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751922257144116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson --- target/arm/cpregs.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/target/arm/cpregs.h b/target/arm/cpregs.h index c9506aa6d5..88b3d63424 100644 --- a/target/arm/cpregs.h +++ b/target/arm/cpregs.h @@ -512,6 +512,11 @@ FIELD(HFGITR_EL2, SVC_EL1, 53, 1) FIELD(HFGITR_EL2, DCCVAC, 54, 1) FIELD(HFGITR_EL2, NBRBINJ, 55, 1) FIELD(HFGITR_EL2, NBRBIALL, 56, 1) +FIELD(HFGITR_EL2, NGCSPUSHM_EL1, 57, 1) +FIELD(HFGITR_EL2, NGCSSTR_EL1, 58, 1) +FIELD(HFGITR_EL2, NGCSEPP, 59, 1) +FIELD(HFGITR_EL2, COSPRCTX, 60, 1) +FIELD(HFGITR_EL2, ATS1E1A, 62, 1) =20 FIELD(HDFGRTR_EL2, DBGBCRN_EL1, 0, 1) FIELD(HDFGRTR_EL2, DBGBVRN_EL1, 1, 1) --=20 2.43.0 From nobody Mon Dec 15 21:27:45 2025 Delivered-To: importer@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+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1751922392; cv=none; d=zohomail.com; s=zohoarc; b=cSmQz9+br2FnBZMlLOrYU0HtO7YMfah62Q9uINjnsHcku+YsruvAwJm8cg+qNUlrmpCOvizPs1DzXaxN/82R7El8KZm3d/GU3nN6mLbwECfIEaMcsd0ccFAQDO6qv3arY+Rzwv/KDuT1/q6XMO6xpMBB5GcrJzs8pHWYwXl5YbI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751922392; 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=AngDFfAbXxT0VBr2TBjfR0UyDG0Wft7yK5h399FKsbU=; b=ImCXwdguIvuDVj7+U6QfGgv/vR5lhWlv1qIOSeBfXPLVNDZEJXpO8Nlk3xSgKmBGuFXP6/51Z1xVF7OmDrW+cz/zEKWUaHRI2bmneU7H47odXRubEw5+woii/9CgED6V2obSQ891ktvEVnX8LfplPj7gnVv54B8EHNaAc+t/LKY= 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+importer=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 1751922392303368.83108337316185; Mon, 7 Jul 2025 14:06:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uYt2g-0000cK-6l; Mon, 07 Jul 2025 17:06:26 -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 1uYsLb-0005Rx-9k for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:22:05 -0400 Received: from mail-qt1-x830.google.com ([2607:f8b0:4864:20::830]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uYsLX-0004Ov-T5 for qemu-devel@nongnu.org; Mon, 07 Jul 2025 16:21:54 -0400 Received: by mail-qt1-x830.google.com with SMTP id d75a77b69052e-4a77ffcb795so33804561cf.0 for ; Mon, 07 Jul 2025 13:21:51 -0700 (PDT) Received: from stoup.. ([172.58.142.143]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4a994a78dd4sm69050351cf.51.2025.07.07.13.21.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 13:21:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1751919711; x=1752524511; 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=AngDFfAbXxT0VBr2TBjfR0UyDG0Wft7yK5h399FKsbU=; b=das8aIW5ga1+trD/Lnhi1wtNuQ5fLMU0wsIZI4EHNNxXITfvVvGAAmYY6pGU0NxXcX iEjr5F2eoImbKglQqrrd3HF6576NXvve5gcbDZv1TZwF9lfOjv8Lobwf6roKUkY83vB4 GqHci8as6FN1RhJVWvoGYPELNt3eA5ykeqFufvK9ZXg5gMr6euJRlBEpegSIdkOEWHEi 0e58rSNlvUs5gtv+tqR+Wu+3dSBXnpRJ8yhUXdNlxbiVdGMCVlasUhC1qD4EHnpVRKv+ 1nWi/GFhyBqEBKP40Ftf91kbZjHcLhZ/ewvPPaJ84q8fnWWt9hH/M5lgWLFWSRw7X/rT tibQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751919711; x=1752524511; 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=AngDFfAbXxT0VBr2TBjfR0UyDG0Wft7yK5h399FKsbU=; b=elSEESOzOT8+96Gvg/PlBqvLjfmU5C01ab3WGMona7XJgJ7hZcHGZ2Bwi9TTt967G3 48zsce9XOnNu9teaTbk2wRNDve+REE+VWMl7DyvoSSRDOZGvljXiNBPUiwQCrgwWD0Cz hsB07YoGPd+s43ig5sDw0TZi7+BmGvpn4mSuet/sQUjN2vzazJqGvFwA8I9S0N7+rBlS JH+AkpW4+6FyHkXuQAeUprHeCzAta+vKwdyt5AtOfShkMgqeLu9CCMCaSez9hEet5BHA CwI2c9KI8xWeadJjSfiX9ED+NUlM//TTZFfYZvClVXc1Xo6vx/UjG7gcEQIOyH6gbEAb 82Zw== X-Gm-Message-State: AOJu0Yz+OvjVZMlUwGmvaTQ42KkssZ/hKaBiE6PS/jprITo6C3+nhV0V YJnIJyv60ue8n8knyMqbZV0SBU3pCfQw+UPvxj8ZneKRHzzi3F79zMp4nGkKoxClur5zcAzMNrG ABHlUrkk= X-Gm-Gg: ASbGncuWfYLz36gbxguRRmI7xVh/aD+BKfRtcQ09TnXK+U2yKzaWE8rvRfjlMRDi2vO OSgSf7/s8ObMG+O7bU2shIwU6vK25tgTC/H7ITiGdCKp5OPFQtsx3MrU242YN6QzUmUQ0IU3Ay7 OmeX3whnetWrXrMOZfE8S4MGFjycwycBNwjrnWgU8oW4VSf76BRyQjU9IEbbL0PwbR9un4SpHvu c60iDv/50y/LM2TIluvpI1n+Qho5alC3hzlY4wcZcjF1VFXMRt/mUfS2UiKE5ZOQOqWz1GCqceP sg4FUiI5+1/dKo0Vj2Uk9hMhXDZu3kAlSKMYBfrGRb/Tjc55/jCvp4xnNbAYSeAO6dF19cuP6PI 0RzhPepEIaK9NAoJN X-Google-Smtp-Source: AGHT+IFiOG9P+P0Vt7vLU2ovOSbdok2M6F+s7AA57BnaTBjmtkkkElGjCguSuYLjTT6/aFzzH24ZAg== X-Received: by 2002:a05:622a:34c:b0:4a9:a729:1c35 with SMTP id d75a77b69052e-4a9cd7e5289mr6088331cf.37.1751919710672; Mon, 07 Jul 2025 13:21:50 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PATCH 20/20] target/arm: Implement FEAT_ATS1A Date: Mon, 7 Jul 2025 14:21:11 -0600 Message-ID: <20250707202111.293787-21-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250707202111.293787-1-richard.henderson@linaro.org> References: <20250707202111.293787-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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::830; envelope-from=richard.henderson@linaro.org; helo=mail-qt1-x830.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=unavailable 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1751922392838116600 Content-Type: text/plain; charset="utf-8" Implement FEAT_ATS1A and enable for -cpu max. Signed-off-by: Richard Henderson --- target/arm/cpregs.h | 1 + target/arm/cpu-features.h | 5 ++++ target/arm/tcg/cpregs-at.c | 44 +++++++++++++++++++++++++++++++++++ target/arm/tcg/cpu64.c | 1 + docs/system/arm/emulation.rst | 1 + 5 files changed, 52 insertions(+) diff --git a/target/arm/cpregs.h b/target/arm/cpregs.h index 88b3d63424..58c6326fce 100644 --- a/target/arm/cpregs.h +++ b/target/arm/cpregs.h @@ -835,6 +835,7 @@ typedef enum FGTBit { DO_BIT(HFGITR, DVPRCTX), DO_BIT(HFGITR, CPPRCTX), DO_BIT(HFGITR, DCCVAC), + DO_BIT(HFGITR, ATS1E1A), } FGTBit; =20 #undef DO_BIT diff --git a/target/arm/cpu-features.h b/target/arm/cpu-features.h index 5d8adfb73b..91e6c5b7d2 100644 --- a/target/arm/cpu-features.h +++ b/target/arm/cpu-features.h @@ -604,6 +604,11 @@ static inline bool isar_feature_aa64_rpres(const ARMIS= ARegisters *id) return FIELD_EX64_IDREG(id, ID_AA64ISAR2, RPRES); } =20 +static inline bool isar_feature_aa64_ats1a(const ARMISARegisters *id) +{ + return FIELD_EX64_IDREG(id, ID_AA64ISAR2, ATS1A); +} + static inline bool isar_feature_aa64_fp_simd(const ARMISARegisters *id) { /* We always set the AdvSIMD and FP fields identically. */ diff --git a/target/arm/tcg/cpregs-at.c b/target/arm/tcg/cpregs-at.c index 39141c83aa..b764dd54c3 100644 --- a/target/arm/tcg/cpregs-at.c +++ b/target/arm/tcg/cpregs-at.c @@ -490,6 +490,47 @@ static const ARMCPRegInfo ats1cp_reginfo[] =3D { .writefn =3D ats_write }, }; =20 +static void ats_s1e1a(CPUARMState *env, const ARMCPRegInfo *ri, uint64_t v= alue) +{ + uint64_t hcr_el2 =3D arm_hcr_el2_eff(env); + bool regime_e20 =3D (hcr_el2 & (HCR_E2H | HCR_TGE)) =3D=3D (HCR_E2H | = HCR_TGE); + ARMMMUIdx mmu_idx =3D regime_e20 ? ARMMMUIdx_E20_2 : ARMMMUIdx_Stage1_= E1; + ARMSecuritySpace ss =3D arm_security_space_below_el3(env); + + env->cp15.par_el[1] =3D do_ats_write(env, value, 0, mmu_idx, ss); +} + +static void ats_s1e2a(CPUARMState *env, const ARMCPRegInfo *ri, uint64_t v= alue) +{ + uint64_t hcr_el2 =3D arm_hcr_el2_eff(env); + ARMMMUIdx mmu_idx =3D hcr_el2 & HCR_E2H ? ARMMMUIdx_E20_2 : ARMMMUIdx_= E2; + ARMSecuritySpace ss =3D arm_security_space_below_el3(env); + + env->cp15.par_el[1] =3D do_ats_write(env, value, 0, mmu_idx, ss); +} + +static void ats_s1e3a(CPUARMState *env, const ARMCPRegInfo *ri, uint64_t v= alue) +{ + env->cp15.par_el[1] =3D do_ats_write(env, value, 0, ARMMMUIdx_E3, + arm_security_space(env)); +} + +static const ARMCPRegInfo ats1a_reginfo[] =3D { + { .name =3D "AT_S1E1A", .state =3D ARM_CP_STATE_AA64, + .opc0 =3D 1, .opc1 =3D 0, .crn =3D 7, .crm =3D 9, .opc2 =3D 2, + .access =3D PL1_W, .type =3D ARM_CP_NO_RAW | ARM_CP_RAISES_EXC, + .fgt =3D FGT_ATS1E1A, + .accessfn =3D at_s1e01_access, .writefn =3D ats_s1e1a }, + { .name =3D "AT_S1E2A", .state =3D ARM_CP_STATE_AA64, + .opc0 =3D 1, .opc1 =3D 4, .crn =3D 7, .crm =3D 9, .opc2 =3D 2, + .access =3D PL2_W, .type =3D ARM_CP_NO_RAW | ARM_CP_RAISES_EXC, + .accessfn =3D at_s1e2_access, .writefn =3D ats_s1e2a }, + { .name =3D "AT_S1E3A", .state =3D ARM_CP_STATE_AA64, + .opc0 =3D 1, .opc1 =3D 6, .crn =3D 7, .crm =3D 9, .opc2 =3D 2, + .access =3D PL3_W, .type =3D ARM_CP_NO_RAW | ARM_CP_RAISES_EXC, + .writefn =3D ats_s1e3a }, +}; + void define_at_insn_regs(ARMCPU *cpu) { CPUARMState *env =3D &cpu->env; @@ -511,4 +552,7 @@ void define_at_insn_regs(ARMCPU *cpu) if (cpu_isar_feature(aa32_ats1e1, cpu)) { define_arm_cp_regs(cpu, ats1cp_reginfo); } + if (cpu_isar_feature(aa64_ats1a, cpu)) { + define_arm_cp_regs(cpu, ats1a_reginfo); + } } diff --git a/target/arm/tcg/cpu64.c b/target/arm/tcg/cpu64.c index 937f29e253..5916a32043 100644 --- a/target/arm/tcg/cpu64.c +++ b/target/arm/tcg/cpu64.c @@ -1178,6 +1178,7 @@ void aarch64_max_tcg_initfn(Object *obj) t =3D FIELD_DP64(t, ID_AA64ISAR2, MOPS, 1); /* FEAT_MOPS */ t =3D FIELD_DP64(t, ID_AA64ISAR2, BC, 1); /* FEAT_HBC */ t =3D FIELD_DP64(t, ID_AA64ISAR2, WFXT, 2); /* FEAT_WFxT */ + t =3D FIELD_DP64(t, ID_AA64ISAR2, ATS1A, 1); /* FEAT_ATS1A */ SET_IDREG(isar, ID_AA64ISAR2, t); =20 t =3D GET_IDREG(isar, ID_AA64PFR0); diff --git a/docs/system/arm/emulation.rst b/docs/system/arm/emulation.rst index 78c2fd2113..1c3da23623 100644 --- a/docs/system/arm/emulation.rst +++ b/docs/system/arm/emulation.rst @@ -23,6 +23,7 @@ the following architecture extensions: - FEAT_AFP (Alternate floating-point behavior) - FEAT_Armv9_Crypto (Armv9 Cryptographic Extension) - FEAT_ASID16 (16 bit ASID) +- FEAT_ATS1A (Address Translation operations that ignore stage 1 permissio= ns) - FEAT_BBM at level 2 (Translation table break-before-make levels) - FEAT_BF16 (AArch64 BFloat16 instructions) - FEAT_BTI (Branch Target Identification) --=20 2.43.0