hw/i386/x86-iommu: Remove X86IOMMUState::pt_supported field
The X86IOMMUState::pt_supported boolean was only set in
the hw_compat_2_9[] array, via the 'pt=off' property. We
removed all machines using that array, lets remove that
property and all the code around it, always setting the
VTD_ECAP_PT capability.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250501210456.89071-19-philmd@linaro.org>
[thuth: Dropped the hunks that were already merged via commit 31753d5a33]
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20260225092024.794595-16-thuth@redhat.com>
This commit is contained in:
committed by
Thomas Huth
parent
8960a54939
commit
c7b2e22bd9
@@ -1072,6 +1072,7 @@ static inline bool vtd_ce_type_check(X86IOMMUState *x86_iommu,
|
||||
{
|
||||
switch (vtd_ce_get_type(ce)) {
|
||||
case VTD_CONTEXT_TT_MULTI_LEVEL:
|
||||
case VTD_CONTEXT_TT_PASS_THROUGH:
|
||||
/* Always supported */
|
||||
break;
|
||||
case VTD_CONTEXT_TT_DEV_IOTLB:
|
||||
@@ -1080,12 +1081,6 @@ static inline bool vtd_ce_type_check(X86IOMMUState *x86_iommu,
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case VTD_CONTEXT_TT_PASS_THROUGH:
|
||||
if (!x86_iommu->pt_supported) {
|
||||
error_report_once("%s: PT specified but not supported", __func__);
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
/* Unknown type */
|
||||
error_report_once("%s: unknown ce type: %"PRIu32, __func__,
|
||||
@@ -5004,7 +4999,7 @@ static void vtd_cap_init(IntelIOMMUState *s)
|
||||
{
|
||||
X86IOMMUState *x86_iommu = X86_IOMMU_DEVICE(s);
|
||||
|
||||
s->cap = VTD_CAP_FRO | VTD_CAP_NFR | VTD_CAP_ND |
|
||||
s->cap = VTD_CAP_FRO | VTD_CAP_NFR | VTD_CAP_ND | VTD_ECAP_PT |
|
||||
VTD_CAP_MAMV | VTD_CAP_PSI | VTD_CAP_SSLPS |
|
||||
VTD_CAP_ESRTPS | VTD_CAP_MGAW(s->aw_bits);
|
||||
if (s->dma_drain) {
|
||||
@@ -5032,10 +5027,6 @@ static void vtd_cap_init(IntelIOMMUState *s)
|
||||
s->ecap |= VTD_ECAP_DT;
|
||||
}
|
||||
|
||||
if (x86_iommu->pt_supported) {
|
||||
s->ecap |= VTD_ECAP_PT;
|
||||
}
|
||||
|
||||
if (s->caching_mode) {
|
||||
s->cap |= VTD_CAP_CM;
|
||||
}
|
||||
|
||||
@@ -129,7 +129,6 @@ static const Property x86_iommu_properties[] = {
|
||||
DEFINE_PROP_ON_OFF_AUTO("intremap", X86IOMMUState,
|
||||
intr_supported, ON_OFF_AUTO_AUTO),
|
||||
DEFINE_PROP_BOOL("device-iotlb", X86IOMMUState, dt_supported, false),
|
||||
DEFINE_PROP_BOOL("pt", X86IOMMUState, pt_supported, true),
|
||||
DEFINE_PROP_BOOL("dma-translation", X86IOMMUState, dma_translation, true),
|
||||
};
|
||||
|
||||
|
||||
@@ -63,7 +63,6 @@ struct X86IOMMUState {
|
||||
SysBusDevice busdev;
|
||||
OnOffAuto intr_supported; /* Whether vIOMMU supports IR */
|
||||
bool dt_supported; /* Whether vIOMMU supports DT */
|
||||
bool pt_supported; /* Whether vIOMMU supports pass-through */
|
||||
bool dma_translation; /* Whether vIOMMU supports DMA translation */
|
||||
QLIST_HEAD(, IEC_Notifier) iec_notifiers; /* IEC notify list */
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user