|
|
|
|
|
|
|
|
|
|
xen-ia64-devel
RE: [Xen-ia64-devel] [PATCH] Fix some IPF Xen VT-d bugs
Isaku Yamahata wrote:
>> diff -r 008b68ff6095 xen/arch/ia64/xen/domain.c
>> --- a/xen/arch/ia64/xen/domain.c Tue Nov 18 10:33:55 2008 +0900
>> +++ b/xen/arch/ia64/xen/domain.c Mon Dec 15 18:41:52 2008 +0800
>> @@ -602,10 +602,8 @@ int arch_domain_create(struct domain *d,
>> if ((d->arch.mm.pgd = pgd_alloc(&d->arch.mm)) == NULL) goto
>> fail_nomem;
>>
>> - if ( iommu_enabled && (is_hvm_domain(d) || need_iommu(d)) ){
>> - if(iommu_domain_init(d) != 0)
>> - goto fail_iommu;
>> - }
>> + if(iommu_domain_init(d) != 0)
>> + goto fail_iommu;
>>
>> /*
>> * grant_table_create() can't fully initialize grant table for
>> domain
>
> Please don't drop is_hvm_domain(d) check.
> At this moment ia64 doesn't support iommu for PV domain because
Oh, thanks for the reminder. Here I neglected this.
Do you mean this:
if ( is_hvm_domain(d) )
if(iommu_domain_init(d) != 0)
goto fail_iommu;
This is also not ok since we must ensure iommu_domain_init() is invoked for
Dom0 -- we need the function invoked to enable DMA remapping.
So how about changing the logic to:
if ( (d->domain_id == 0) || is_hvm_domain(d) )
if(iommu_domain_init(d) != 0)
goto fail_iommu;
If you agree this, I'll post a new patch.
> it would introduce race with the ia64 lockless p2m table.
> If you want VT-d support for pv domain, the race must be resolved
> somehow.
At present, let us support VT-d for HVM guest first.
>
> Please add comments about why 0 instead of -ENOSYS.
OK, I'll add it.
Thanks,
-- Dexuan
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|
|
|
|
|