summaryrefslogtreecommitdiffstats
path: root/hw/virtio/vhost-user.c
diff options
context:
space:
mode:
authorPeter Maydell2022-10-03 18:23:13 +0200
committerPeter Maydell2022-10-10 15:52:25 +0200
commit104f703d93c9f12984a165985af653f83527c84e (patch)
tree9996b833143bf69ce234b5a8e25c205452e32753 /hw/virtio/vhost-user.c
parenthw/arm/boot: set CPTR_EL3.ESM and SCR_EL3.EnTP2 when booting Linux with EL3 (diff)
downloadqemu-104f703d93c9f12984a165985af653f83527c84e.tar.gz
qemu-104f703d93c9f12984a165985af653f83527c84e.tar.xz
qemu-104f703d93c9f12984a165985af653f83527c84e.zip
target/arm: Don't allow guest to use unimplemented granule sizes
Arm CPUs support some subset of the granule (page) sizes 4K, 16K and 64K. The guest selects the one it wants using bits in the TCR_ELx registers. If it tries to program these registers with a value that is either reserved or which requests a size that the CPU does not implement, the architecture requires that the CPU behaves as if the field was programmed to some size that has been implemented. Currently we don't implement this, and instead let the guest use any granule size, even if the CPU ID register fields say it isn't present. Make aa64_va_parameters() check against the supported granule size and force use of a different one if it is not implemented. (A subsequent commit will make ARMVAParameters use the new enum rather than the current pair of using16k/using64k bools.) Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 20221003162315.2833797-2-peter.maydell@linaro.org
Diffstat (limited to 'hw/virtio/vhost-user.c')
0 files changed, 0 insertions, 0 deletions