hw/arm/smmuv3: Abort on vfio or vhost case
At the moment, the SMMUv3 does not support notification on TLB invalidation. So let's log an error as soon as such notifier gets enabled. Signed-off-by: Eric Auger <eric.auger@redhat.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 1524665762-31355-11-git-send-email-eric.auger@redhat.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
9bde7f0674
commit
0d1ac82ece
|
@ -1147,12 +1147,23 @@ static void smmuv3_class_init(ObjectClass *klass, void *data)
|
||||||
dc->realize = smmu_realize;
|
dc->realize = smmu_realize;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void smmuv3_notify_flag_changed(IOMMUMemoryRegion *iommu,
|
||||||
|
IOMMUNotifierFlag old,
|
||||||
|
IOMMUNotifierFlag new)
|
||||||
|
{
|
||||||
|
if (old == IOMMU_NOTIFIER_NONE) {
|
||||||
|
warn_report("SMMUV3 does not support vhost/vfio integration yet: "
|
||||||
|
"devices of those types will not function properly");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void smmuv3_iommu_memory_region_class_init(ObjectClass *klass,
|
static void smmuv3_iommu_memory_region_class_init(ObjectClass *klass,
|
||||||
void *data)
|
void *data)
|
||||||
{
|
{
|
||||||
IOMMUMemoryRegionClass *imrc = IOMMU_MEMORY_REGION_CLASS(klass);
|
IOMMUMemoryRegionClass *imrc = IOMMU_MEMORY_REGION_CLASS(klass);
|
||||||
|
|
||||||
imrc->translate = smmuv3_translate;
|
imrc->translate = smmuv3_translate;
|
||||||
|
imrc->notify_flag_changed = smmuv3_notify_flag_changed;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const TypeInfo smmuv3_type_info = {
|
static const TypeInfo smmuv3_type_info = {
|
||||||
|
|
Loading…
Reference in a new issue