[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v4 06/21] xen/passthrough: amd: Remove domain_id from hvm_iommu
Hello Sherry and Suravee, Can one of you ack this change in the AMD IOMMU drivers? Regards, On 04/22/2014 02:14 PM, Julien Grall wrote: > 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> > Acked-by: Ian Campbell <ian.campbell@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 366c750..51b75fc 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); > @@ -274,8 +274,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; > @@ -334,7 +332,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 8c98274..dc9c766 100644 > --- a/xen/include/xen/hvm/iommu.h > +++ b/xen/include/xen/hvm/iommu.h > @@ -38,7 +38,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; > -- Julien Grall _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |