From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42725) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YVl1Q-00037P-Np for qemu-devel@nongnu.org; Wed, 11 Mar 2015 14:06:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YVl1L-00054n-Tf for qemu-devel@nongnu.org; Wed, 11 Mar 2015 14:06:20 -0400 Received: from mx1.redhat.com ([209.132.183.28]:36071) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YVl1L-00053W-La for qemu-devel@nongnu.org; Wed, 11 Mar 2015 14:06:15 -0400 From: Andrew Jones Date: Wed, 11 Mar 2015 19:06:04 +0100 Message-Id: <1426097167-13080-1-git-send-email-drjones@redhat.com> Subject: [Qemu-devel] [PATCH v3 0/3] tcg-arm: LPAE: fix and extend xn control List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: peter.maydell@linaro.org This series fixes and extends the determination of whether or not an address is executable for LPAE translations. The main patch is 3/3, and describes the details in its commit message. Patch 1/3 prepares for patch 2/3, which is prep for 3/3, and also fixes a potential problem with checking access permissions on v6 processors when they use the simple AP format. Changes since v2: * Collect NSTable bits into ns * Explicitly check {prot,user}_rw against PAGE_READ. !{prot,user}_rw means no read or write, but, since we can't have write without read, it also means !({prot,user}_rw & PAGE_READ). Making this explicit can reduce confusion when trying to determine with prot flag we actually care about. [Peter Maydell] Changes since v1: * There are now 3 patches instead of 5. This is due to approaching the prep patches in a different way. Most notably, simple AP format is now handled with its own function. [Peter Maydell] * A check of SCTLR_AFE is guarded with ARM_FEATURE_V6K [Peter Maydell] * All other cleanups suggested by Peter Maydell. Tested by booting Linux on mach-virt with cortex-a15 and cortex-a57 (just up to 'Unable to mount root fs'), and also with a kvm-unit-tests test. The curious can check out the unit test here [1]. Thanks in advance for reviews! drew [1] https://github.com/rhdrjones/kvm-unit-tests/commit/ee553e4bb795b0150e31c794bf8953dfb08d619a Andrew Jones (3): target-arm: convert check_ap to ap_to_rw_prot target-arm: fix get_phys_addr_v6/SCTLR_AFE access check target-arm: get_phys_addr_lpae: more xn control target-arm/helper.c | 216 +++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 156 insertions(+), 60 deletions(-) -- 1.9.3