]> git.proxmox.com Git - mirror_qemu.git/commit
target/arm: Handle FEAT_NV page table attribute changes
authorPeter Maydell <peter.maydell@linaro.org>
Tue, 9 Jan 2024 14:43:51 +0000 (14:43 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 9 Jan 2024 14:43:51 +0000 (14:43 +0000)
commitdea9104a4f85388a1419701a18eb33c354f5658f
tree4978aab98146114216901ccdd465f9f7350e2838
parent2e9b1e50bdf61cadff91ba16f6fc92ef4317803f
target/arm: Handle FEAT_NV page table attribute changes

FEAT_NV requires that when HCR_EL2.{NV,NV1} == {1,1} the handling
of some of the page table attribute bits changes for the EL1&0
translation regime:

 * for block and page descriptors:
  - bit [54] holds PXN, not UXN
  - bit [53] is RES0, and the effective value of UXN is 0
  - bit [6], AP[1], is treated as 0
 * for table descriptors, when hierarchical permissions are enabled:
  - bit [60] holds PXNTable, not UXNTable
  - bit [59] is RES0
  - bit [61], APTable[0] is treated as 0

Implement these changes to the page table attribute handling.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Tested-by: Miguel Luis <miguel.luis@oracle.com>
target/arm/ptw.c