OSDN Git Service

powerpc/pseries/iommu: Separate FW_FEATURE_MULTITCE to put/stuff features
authorAlexey Kardashevskiy <aik@ozlabs.ru>
Mon, 16 Dec 2019 04:19:23 +0000 (15:19 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 6 Jan 2020 05:25:30 +0000 (16:25 +1100)
commit17a0364cb07c173f64cefe973a93b8dbd9c61795
tree446be1476fe2c87a9239027891ccd96c11331743
parent7559d3d295f3365ea7ac0c0274c05e633fe4f594
powerpc/pseries/iommu: Separate FW_FEATURE_MULTITCE to put/stuff features

H_PUT_TCE_INDIRECT allows packing up to 512 TCE updates into a single
hypercall; H_STUFF_TCE can clear lots in a single hypercall too.

However, unlike H_STUFF_TCE (which writes the same TCE to all entries),
H_PUT_TCE_INDIRECT uses a 4K page with new TCEs. In a secure VM
environment this means sharing a secure VM page with a hypervisor which
we would rather avoid.

This splits the FW_FEATURE_MULTITCE feature into FW_FEATURE_PUT_TCE_IND
and FW_FEATURE_STUFF_TCE. "hcall-multi-tce" in
the "/rtas/ibm,hypertas-functions" device tree property sets both;
the "multitce=off" kernel command line parameter disables both.

This should not cause behavioural change.

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-4-aik@ozlabs.ru
arch/powerpc/include/asm/firmware.h
arch/powerpc/platforms/pseries/firmware.c
arch/powerpc/platforms/pseries/iommu.c