]> asedeno.scripts.mit.edu Git - linux.git/commit
powerpc/pseries/svm: Allow IOMMU to work in SVM
authorAlexey Kardashevskiy <aik@ozlabs.ru>
Mon, 16 Dec 2019 04:19:24 +0000 (15:19 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 6 Jan 2020 05:25:30 +0000 (16:25 +1100)
commit978bff4e521dab0a72ee4f2627f9245f7d3d6f64
tree55423a659fbb784d007af6db6ffc3da79b9c73d8
parent17a0364cb07c173f64cefe973a93b8dbd9c61795
powerpc/pseries/svm: Allow IOMMU to work in SVM

H_PUT_TCE_INDIRECT uses a shared page to send up to 512 TCE to
a hypervisor in a single hypercall. This does not work for secure VMs
as the page needs to be shared or the VM should use H_PUT_TCE instead.

This disables H_PUT_TCE_INDIRECT by clearing the FW_FEATURE_PUT_TCE_IND
feature bit so SVMs will map TCEs using H_PUT_TCE.

This is not a part of init_svm() as it is called too late after FW
patching is done and may result in a warning like this:

[    3.727716] Firmware features changed after feature patching!
[    3.727965] WARNING: CPU: 0 PID: 1 at (...)arch/powerpc/lib/feature-fixups.c:466 check_features+0xa4/0xc0

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Reviewed-by: Thiago Jung Bauermann <bauerman@linux.ibm.com>
Tested-by: Thiago Jung Bauermann <bauerman@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20191216041924.42318-5-aik@ozlabs.ru
arch/powerpc/platforms/pseries/firmware.c