iommu: Introduce cache_invalidate API
authorYi L Liu <yi.l.liu@intel.com>
Wed, 2 Oct 2019 19:42:40 +0000 (12:42 -0700)
committerJoerg Roedel <jroedel@suse.de>
Tue, 15 Oct 2019 11:34:04 +0000 (13:34 +0200)
commit4c7c171f85b261f91270d405b7c7390aa6ddfb60
tree9b8e89b876121c4e0344b5201343396540957488
parent4f5cafb5cb8471e54afdc9054d973535614f7675
iommu: Introduce cache_invalidate API

In any virtualization use case, when the first translation stage
is "owned" by the guest OS, the host IOMMU driver has no knowledge
of caching structure updates unless the guest invalidation activities
are trapped by the virtualizer and passed down to the host.

Since the invalidation data can be obtained from user space and will be
written into physical IOMMU, we must allow security check at various
layers. Therefore, generic invalidation data format are proposed here,
model specific IOMMU drivers need to convert them into their own format.

Signed-off-by: Yi L Liu <yi.l.liu@intel.com>
Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Signed-off-by: Ashok Raj <ashok.raj@intel.com>
Signed-off-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.com>
Reviewed-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/iommu.c
include/linux/iommu.h
include/uapi/linux/iommu.h