| 
         
xen-devel
RE: [Xen-devel] Dom0 hypercall for adding and removing PCI devices
 
| 
To:  | 
"Han, Weidong" <weidong.han@xxxxxxxxx>,	"Espen Skoglund" <espen.skoglund@xxxxxxxxxxxxx>,	"Keir Fraser" <keir.fraser@xxxxxxxxxxxxx> | 
 
| 
Subject:  | 
RE: [Xen-devel] Dom0 hypercall for adding and removing PCI devices | 
 
| 
From:  | 
"Han, Weidong" <weidong.han@xxxxxxxxx> | 
 
| 
Date:  | 
Thu, 24 Jul 2008 16:20:58 +0800 | 
 
| 
Cc:  | 
joshua.levasseur@xxxxxxxxxxxxx, xen-devel@xxxxxxxxxxxxxxxxxxx, "Li,	Xin B" <xin.b.li@xxxxxxxxx>, "Jiang, Yunhong" <yunhong.jiang@xxxxxxxxx> | 
 
| 
Delivery-date:  | 
Thu, 24 Jul 2008 01:21:27 -0700 | 
 
| 
Envelope-to:  | 
www-data@xxxxxxxxxxxxxxxxxxx | 
 
| 
In-reply-to:  | 
<0122C7C995D32147B66BF4F440D301630159F319@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> | 
 
| 
List-help:  | 
<mailto:xen-devel-request@lists.xensource.com?subject=help> | 
 
| 
List-id:  | 
Xen developer discussion <xen-devel.lists.xensource.com> | 
 
| 
List-post:  | 
<mailto:xen-devel@lists.xensource.com> | 
 
| 
List-subscribe:  | 
<http://lists.xensource.com/mailman/listinfo/xen-devel>,	<mailto:xen-devel-request@lists.xensource.com?subject=subscribe> | 
 
| 
List-unsubscribe:  | 
<http://lists.xensource.com/mailman/listinfo/xen-devel>,	<mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe> | 
 
| 
References:  | 
<18567.29518.41622.749794@xxxxxxxxxxxxxxxxxx>	<0122C7C995D32147B66BF4F440D301630159F319@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> | 
 
| 
Sender:  | 
xen-devel-bounces@xxxxxxxxxxxxxxxxxxx | 
 
| 
Thread-index:  | 
Acjs70tXQ1Zw51sKQ7WpTwpC8cMMEgAOoQJAAA7bGqA= | 
 
| 
Thread-topic:  | 
[Xen-devel] Dom0 hypercall for adding and removing PCI devices | 
 
 
 
I have another concern, when BIOS is initiating DMA operation using
RMRR, can we use RMRR VT-d page table to replace dom0 VT-d page table?
Does it result in some DMA failures?
Randy (weidong)
Han, Weidong wrote:
> Espen Skoglund wrote:
>> [Keir Fraser]
>>> On 23/7/08 10:26, "Han, Weidong" <weidong.han@xxxxxxxxx> wrote:
>>>>> So this would be one extra VT-d pagetable, for the whole system,
>>>>> which would be the fallback location for RMRR mappings for devices
>>>>> which are currently not assigned to any domain? Thus allowing
>>>>> firmware to successfully initiate DMA operations on those devices?
>>>>> Sounds sensible.
>> 
>> Well, the VT-d page table for RMRR devices need not contain the whole
>> system memory---only those regions specified in the DMAR tables.
>> 
>>>> Is it possible that idle_domain owns the RMRR VT-d page table?
>> 
>>> If that's a convenient place to stash it then why not? Either way,
>>> seems you're going to have it special-cased in the code as fallback
>>> owner for unassigned devices. It's possible that having it stashed
>>> in the idle domain will simply make the code more confusing. I'm not
>>> sure though.
>> 
>> Right.  I don't see any particular good reason to associate it with
>> the idle domain.  As noted above, the page table need not even cover
>> the whole memory, and it will never change after being set up at boot
>> time.  If special case code is needed anyway, then one might as well
>> install a custom VT-d page table.
> 
> What does "custom VT-d page table" mean?
> 
> Due to domain id is not the same with DID field in context, we can
> reverse a DID for RMRR VT-d page table, it can avoid to associate
> with idle domain.  
> 
> Currently we reassign the device from dom0 to target domain when
> assign a device, and return the device to dom0 when target domain
> tears down. It's not correct due to some devices may be not assigned
> to any domain. Current device_assigned() also needs to be changed.
> Maybe it needs more changes on VT-d.    
> 
> I have some concerns, maybe I missed something. Why did you use dom0
> hypercall approach to replace original method? What's the main
> benefit? I also wonder it's suitable to wrap pci_bus_probe()
> function.   
> 
> Randy (Weidong)
> 
>> 
>> If supported by hardware, the extra page tables can even be skipped
>> altogether and the device marked as having passthrough access.  That
>> would give the RMRR device complete access to system memory, though.
>> 
>>      eSk
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 
 |   
 
| <Prev in Thread] | 
Current Thread | 
[Next in Thread>
 |  
- [Xen-devel] Dom0 hypercall for adding and removing PCI devices, Han, Weidong
- Re: [Xen-devel] Dom0 hypercall for adding and removing PCI devices, Keir Fraser
- RE: [Xen-devel] Dom0 hypercall for adding and removing PCI devices, Han, Weidong
- Re: [Xen-devel] Dom0 hypercall for adding and removing PCI devices, Keir Fraser
 - Re: [Xen-devel] Dom0 hypercall for adding and removing PCI devices, Espen Skoglund
 - Message not available
 - RE: [Xen-devel] Dom0 hypercall for adding and removing PCI devices,
Han, Weidong <=
 - Re: [Xen-devel] Dom0 hypercall for adding and removing PCI devices, Keir Fraser
 - RE: [Xen-devel] Dom0 hypercall for adding and removing PCI devices, Han, Weidong
 - Re: [Xen-devel] Dom0 hypercall for adding and removing PCI devices, Keir Fraser
 - RE: [Xen-devel] Dom0 hypercall for adding and removing PCI devices, Tian, Kevin
 - Re: [Xen-devel] Dom0 hypercall for adding and removing PCI devices, Keir Fraser
 - RE: [Xen-devel] Dom0 hypercall for adding and removing PCI devices, Han, Weidong
 - Re: [Xen-devel] Dom0 hypercall for adding and removing PCI devices, Keir Fraser
 
- RE: [Xen-devel] Dom0 hypercall for adding and removing PCI devices, Espen Skoglund
 - RE: [Xen-devel] Dom0 hypercall for adding and removing PCI devices, Tian, Kevin
 
  
  
  
 
 |  
  
 | 
    |