We observed failing WXN tests in our OS which we tracked down to missing
WXN handling in qemu.
The problem was in that short descriptor format walker did not respect WXN
bit. To fix it, make it possible to call get_S1prot() from
get_phys_addr_v6().
Tested localy that all permission-related tests in our OS passed on
following platforms:
- arm64-virt
- arm-vexpress (v7)
- arm-virt (v7)
Changes from v1:
- Fix style errors
- Add cover letter
- Use get_S1prot() instead of open-coded checks
v1: https://lore.kernel.org/qemu-devel/20241114165900.6399-1-paskripkin@gmail.com/
Pavel Skripkin (2):
arm/ptw: make get_S1prot accept decoded AP
arm/ptw: use get_S1prot in get_phys_addr_v6
target/arm/ptw.c | 54 +++++++++++++++++++++---------------------------
1 file changed, 24 insertions(+), 30 deletions(-)
--
2.46.0