diff options
author | Marc Zyngier <maz@kernel.org> | 2019-12-01 12:20:14 +0000 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2019-12-16 10:46:34 +0000 |
commit | 630fcd4d2ba37050329e0adafdc552d656ebe2f3 (patch) | |
tree | 2c7aefdd2a0ded36ca85739c776be9f0ed25baf1 /io/channel-socket.c | |
parent | ccb88bf220b041f04e946d3a2b619dd2bc30951b (diff) | |
download | qemu-630fcd4d2ba37050329e0adafdc552d656ebe2f3.zip qemu-630fcd4d2ba37050329e0adafdc552d656ebe2f3.tar.gz qemu-630fcd4d2ba37050329e0adafdc552d656ebe2f3.tar.bz2 |
target/arm: Honor HCR_EL2.TID2 trapping requirements
HCR_EL2.TID2 mandates that access from EL1 to CTR_EL0, CCSIDR_EL1,
CCSIDR2_EL1, CLIDR_EL1, CSSELR_EL1 are trapped to EL2, and QEMU
completely ignores it, making it impossible for hypervisors to
virtualize the cache hierarchy.
Do the right thing by trapping to EL2 if HCR_EL2.TID2 is set.
Signed-off-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20191201122018.25808-2-maz@kernel.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'io/channel-socket.c')
0 files changed, 0 insertions, 0 deletions