intel-iommu: Move dma_translation to x86-iommu
To be later reused by AMD, now that it shares similar property. Signed-off-by: Joao Martins <joao.m.martins@oracle.com> Signed-off-by: Alejandro Jimenez <alejandro.j.jimenez@oracle.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Message-ID: <20250919213515.917111-22-alejandro.j.jimenez@oracle.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
de83472bee
commit
b6b49c2cd6
3 changed files with 4 additions and 3 deletions
|
|
@ -2704,7 +2704,7 @@ static void vtd_handle_gcmd_write(IntelIOMMUState *s)
|
|||
uint32_t changed = status ^ val;
|
||||
|
||||
trace_vtd_reg_write_gcmd(status, val);
|
||||
if ((changed & VTD_GCMD_TE) && s->dma_translation) {
|
||||
if ((changed & VTD_GCMD_TE) && x86_iommu->dma_translation) {
|
||||
/* Translation enable/disable */
|
||||
vtd_handle_gcmd_te(s, val & VTD_GCMD_TE);
|
||||
}
|
||||
|
|
@ -3947,7 +3947,6 @@ static const Property vtd_properties[] = {
|
|||
DEFINE_PROP_BOOL("snoop-control", IntelIOMMUState, snoop_control, false),
|
||||
DEFINE_PROP_BOOL("x-pasid-mode", IntelIOMMUState, pasid, false),
|
||||
DEFINE_PROP_BOOL("dma-drain", IntelIOMMUState, dma_drain, true),
|
||||
DEFINE_PROP_BOOL("dma-translation", IntelIOMMUState, dma_translation, true),
|
||||
DEFINE_PROP_BOOL("stale-tm", IntelIOMMUState, stale_tm, false),
|
||||
DEFINE_PROP_BOOL("fs1gp", IntelIOMMUState, fs1gp, true),
|
||||
};
|
||||
|
|
@ -4665,7 +4664,7 @@ static void vtd_cap_init(IntelIOMMUState *s)
|
|||
if (s->dma_drain) {
|
||||
s->cap |= VTD_CAP_DRAIN;
|
||||
}
|
||||
if (s->dma_translation) {
|
||||
if (x86_iommu->dma_translation) {
|
||||
if (s->aw_bits >= VTD_HOST_AW_39BIT) {
|
||||
s->cap |= VTD_CAP_SAGAW_39bit;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -130,6 +130,7 @@ static const Property x86_iommu_properties[] = {
|
|||
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),
|
||||
};
|
||||
|
||||
static void x86_iommu_class_init(ObjectClass *klass, const void *data)
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@ struct X86IOMMUState {
|
|||
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 */
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue