mirror of
https://github.com/qemu/qemu.git
synced 2026-07-08 17:56:38 +00:00
intel_iommu: Correctly set pt bit in extended capability register
With the changes inc7b2e22bd9, the `pt` bit was set in the (wrong) capability register, instead of the (correct) extended capability register. Fixes:c7b2e22bd9("hw/i386/x86-iommu: Remove X86IOMMUState::pt_supported field") Signed-off-by: no92 <leo@managarm.org> Reviewed-by: Clement Mathieu--Drif <clement.mathieu--drif@bull.com> Reviewed-by: Yi Liu <yi.l.liu@intel.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Message-ID: <20260624103933.1793586-3-leo@managarm.org>
This commit is contained in:
@@ -4988,7 +4988,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 | VTD_ECAP_PT |
|
||||
s->cap = VTD_CAP_FRO | VTD_CAP_NFR | VTD_CAP_ND |
|
||||
VTD_CAP_MAMV | VTD_CAP_PSI | VTD_CAP_SSLPS | VTD_CAP_DRAIN |
|
||||
VTD_CAP_ESRTPS | VTD_CAP_MGAW(s->aw_bits);
|
||||
if (x86_iommu->dma_translation) {
|
||||
@@ -4999,7 +4999,7 @@ static void vtd_cap_init(IntelIOMMUState *s)
|
||||
s->cap |= VTD_CAP_SAGAW_48bit;
|
||||
}
|
||||
}
|
||||
s->ecap = VTD_ECAP_QI | VTD_ECAP_IRO;
|
||||
s->ecap = VTD_ECAP_QI | VTD_ECAP_IRO | VTD_ECAP_PT;
|
||||
|
||||
if (x86_iommu_ir_supported(x86_iommu)) {
|
||||
s->ecap |= VTD_ECAP_IR | VTD_ECAP_MHMV;
|
||||
|
||||
Reference in New Issue
Block a user