From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36087) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b0qju-0000x7-H0 for qemu-devel@nongnu.org; Thu, 12 May 2016 09:33:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b0qjr-0004ba-Uh for qemu-devel@nongnu.org; Thu, 12 May 2016 09:33:17 -0400 Received: from orth.archaic.org.uk ([2001:8b0:1d0::2]:56874) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b0qjr-0004Xt-OL for qemu-devel@nongnu.org; Thu, 12 May 2016 09:33:15 -0400 Received: from pm215 by orth.archaic.org.uk with local (Exim 4.84_2) (envelope-from ) id 1b0qjo-00048p-65 for qemu-devel@nongnu.org; Thu, 12 May 2016 14:33:12 +0100 From: Peter Maydell Date: Thu, 12 May 2016 14:32:35 +0100 Message-Id: <1463059985-2272-14-git-send-email-peter.maydell@linaro.org> In-Reply-To: <1463059985-2272-1-git-send-email-peter.maydell@linaro.org> References: <1463059985-2272-1-git-send-email-peter.maydell@linaro.org> Subject: [Qemu-devel] [PULL 13/43] target-arm: Stage 2 permission fault was fixed in AArch32 state List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org From: Sergey Sorokin As described in AArch32.CheckS2Permission an instruction fetch fails if XN bit is set or there is no read permission for the address. Signed-off-by: Sergey Sorokin Message-id: 1461002400-3187-1-git-send-email-afarallax@yandex.ru Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- target-arm/helper.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/target-arm/helper.c b/target-arm/helper.c index 09638b2..59efb90 100644 --- a/target-arm/helper.c +++ b/target-arm/helper.c @@ -6708,7 +6708,9 @@ static int get_S2prot(CPUARMState *env, int s2ap, int xn) prot |= PAGE_WRITE; } if (!xn) { - prot |= PAGE_EXEC; + if (arm_el_is_aa64(env, 2) || prot & PAGE_READ) { + prot |= PAGE_EXEC; + } } return prot; } -- 1.9.1