diff options
author | Alexey Kardashevskiy <aik@ozlabs.ru> | 2017-03-22 15:21:48 +1100 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2017-03-30 21:42:01 +1100 |
commit | a540aa56ba3d29084f28710c8b93cc9c3c422943 (patch) | |
tree | 265e8987fb9f37ede5fb9175dac3e26b62745ed8 /drivers | |
parent | 6b5c19c55266f6efd10ffac0e9f9f2b7aa420a58 (diff) | |
download | linux-a540aa56ba3d29084f28710c8b93cc9c3c422943.tar.gz linux-a540aa56ba3d29084f28710c8b93cc9c3c422943.tar.bz2 linux-a540aa56ba3d29084f28710c8b93cc9c3c422943.zip |
powerpc/powernv/iommu: Add real mode version of iommu_table_ops::exchange()
In real mode, TCE tables are invalidated using special
cache-inhibited store instructions which are not available in
virtual mode
This defines and implements exchange_rm() callback. This does not
define set_rm/clear_rm/flush_rm callbacks as there is no user for those -
exchange/exchange_rm are only to be used by KVM for VFIO.
The exchange_rm callback is defined for IODA1/IODA2 powernv platforms.
This replaces list_for_each_entry_rcu with its lockless version as
from now on pnv_pci_ioda2_tce_invalidate() can be called in
the real mode too.
Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'drivers')
0 files changed, 0 insertions, 0 deletions