[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v3 02/13] xen/passthrough: amd: Remove domain_id from hvm_iommu
The structure hvm_iommu contains a shadow value of domain->domain_id. There is no reason to not directly use domain->domain_id. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Cc: Suravee Suthikulpanit <suravee.suthikulpanit@xxxxxxx> Cc: Jan Beulich <jbeulich@xxxxxxxx> --- Changes in v3: - Patch added --- xen/drivers/passthrough/amd/iommu_cmd.c | 3 +-- xen/drivers/passthrough/amd/iommu_map.c | 2 +- xen/drivers/passthrough/amd/pci_amd_iommu.c | 8 +++----- xen/include/xen/hvm/iommu.h | 1 - 4 files changed, 5 insertions(+), 9 deletions(-) diff --git a/xen/drivers/passthrough/amd/iommu_cmd.c b/xen/drivers/passthrough/amd/iommu_cmd.c index d27bd3c..4faa01b 100644 --- a/xen/drivers/passthrough/amd/iommu_cmd.c +++ b/xen/drivers/passthrough/amd/iommu_cmd.c @@ -354,8 +354,7 @@ static void _amd_iommu_flush_pages(struct domain *d, { unsigned long flags; struct amd_iommu *iommu; - struct hvm_iommu *hd = domain_hvm_iommu(d); - unsigned int dom_id = hd->domain_id; + unsigned int dom_id = d->domain_id; /* send INVALIDATE_IOMMU_PAGES command */ for_each_amd_iommu ( iommu ) diff --git a/xen/drivers/passthrough/amd/iommu_map.c b/xen/drivers/passthrough/amd/iommu_map.c index 1294561..b79e470 100644 --- a/xen/drivers/passthrough/amd/iommu_map.c +++ b/xen/drivers/passthrough/amd/iommu_map.c @@ -614,7 +614,7 @@ static int update_paging_mode(struct domain *d, unsigned long gfn) /* valid = 0 only works for dom0 passthrough mode */ amd_iommu_set_root_page_table((u32 *)device_entry, page_to_maddr(hd->root_table), - hd->domain_id, + d->domain_id, hd->paging_mode, 1); amd_iommu_flush_device(iommu, req_id); diff --git a/xen/drivers/passthrough/amd/pci_amd_iommu.c b/xen/drivers/passthrough/amd/pci_amd_iommu.c index c26aabc..79f4a77 100644 --- a/xen/drivers/passthrough/amd/pci_amd_iommu.c +++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c @@ -138,7 +138,7 @@ static void amd_iommu_setup_domain_device( { /* bind DTE to domain page-tables */ amd_iommu_set_root_page_table( - (u32 *)dte, page_to_maddr(hd->root_table), hd->domain_id, + (u32 *)dte, page_to_maddr(hd->root_table), domain->domain_id, hd->paging_mode, valid); if ( pci_ats_device(iommu->seg, bus, pdev->devfn) && @@ -152,7 +152,7 @@ static void amd_iommu_setup_domain_device( "domain = %d, paging mode = %d\n", req_id, pdev->type, page_to_maddr(hd->root_table), - hd->domain_id, hd->paging_mode); + domain->domain_id, hd->paging_mode); } spin_unlock_irqrestore(&iommu->lock, flags); @@ -273,8 +273,6 @@ static int amd_iommu_domain_init(struct domain *d) IOMMU_PAGING_MODE_LEVEL_2 : get_paging_mode(max_page); - hd->domain_id = d->domain_id; - guest_iommu_init(d); return 0; @@ -333,7 +331,7 @@ void amd_iommu_disable_domain_device(struct domain *domain, AMD_IOMMU_DEBUG("Disable: device id = %#x, " "domain = %d, paging mode = %d\n", - req_id, domain_hvm_iommu(domain)->domain_id, + req_id, domain->domain_id, domain_hvm_iommu(domain)->paging_mode); } spin_unlock_irqrestore(&iommu->lock, flags); diff --git a/xen/include/xen/hvm/iommu.h b/xen/include/xen/hvm/iommu.h index 26539e0..6ab684e 100644 --- a/xen/include/xen/hvm/iommu.h +++ b/xen/include/xen/hvm/iommu.h @@ -44,7 +44,6 @@ struct hvm_iommu { struct list_head mapped_rmrrs; /* amd iommu support */ - int domain_id; int paging_mode; struct page_info *root_table; struct guest_iommu *g_iommu; -- 1.7.10.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |