arch-arm: Fix Data Abort ISS when caused by Atomic operation
Data Aborts caused by an atomic instruction have a special rule for
From a ISS point of view they count as read if a read to that address
would generate a fault; they count as writes otherwise (ISS.WnR bit)
This patch is implementing this in the TLB. For permission faults we
need to explicitly check if a read would trigger a fault
(e.g. checking for the AP bits) since permissions can allow read-only
For other MMU exceptions (like translation faults) we are confident the
nature of the access doesn't affect the genration of a fault.
This means that if the access is atomic, we treat it as a read from an
ISS.WnR point of view.
Signed-off-by: Giacomo Travaglini <email@example.com>
Reviewed-by: Andreas Sandberg <firstname.lastname@example.org>
Maintainer: Andreas Sandberg <email@example.com>
Tested-by: kokoro <firstname.lastname@example.org>
2 files changed