target/arm: Adjust PAR_EL1.SH for Device and Normal-NC memory types
authorPeter Maydell <peter.maydell@linaro.org>
Tue, 22 Aug 2023 16:31:10 +0000 (17:31 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 22 Aug 2023 16:31:10 +0000 (17:31 +0100)
commitb17d86eb5ef745f393f3387b15df2b9b2aaae793
tree725568396fc01c97e0d21c18e2a77e66d8153ff7
parenta729d63642b01f2b7a3c1db468811a7b40b88f70
target/arm: Adjust PAR_EL1.SH for Device and Normal-NC memory types

The PAR_EL1.SH field documents that for the cases of:
 * Device memory
 * Normal memory with both Inner and Outer Non-Cacheable
the field should be 0b10 rather than whatever was in the
translation table descriptor field. (In the pseudocode this
is handled by PAREncodeShareability().) Perform this
adjustment when assembling a PAR value.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20230807141514.19075-16-peter.maydell@linaro.org
target/arm/helper.c