summary refs log tree commit diff stats
path: root/util/module.c
diff options
context:
space:
mode:
authorTimofey Kutergin <tkutergin@gmail.com>2022-11-03 13:10:41 +0000
committerPeter Maydell <peter.maydell@linaro.org>2022-11-04 10:58:58 +0000
commit6f2d9d74416a71dedeb1a52480e8e809e2862702 (patch)
tree76b6bb9a614e23d00e815d112d80e050095afe79 /util/module.c
parent4870f38b0babe48babdce90ac8bba11d29abaf0d (diff)
downloadfocaccia-qemu-6f2d9d74416a71dedeb1a52480e8e809e2862702.tar.gz
focaccia-qemu-6f2d9d74416a71dedeb1a52480e8e809e2862702.zip
target/arm: Fix Privileged Access Never (PAN) for aarch32
When we implemented the PAN support we theoretically wanted
to support it for both AArch32 and AArch64, but in practice
several bugs made it essentially unusable with an AArch32
guest. Fix all those problems:

    - Use CPSR.PAN to check for PAN state in aarch32 mode
    - throw permission fault during address translation when PAN is
      enabled and kernel tries to access user acessible page
    - ignore SCTLR_XP bit for armv7 and armv8 (conflicts with SCTLR_SPAN).

Signed-off-by: Timofey Kutergin <tkutergin@gmail.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 20221027112619.2205229-1-tkutergin@gmail.com
[PMM: tweak commit message]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'util/module.c')
0 files changed, 0 insertions, 0 deletions