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 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 | 213 +++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 154 insertions(+), 59 deletions(-) -- 1.9.3
