qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 0/15][RFC] New PCI interfaces


From: Blue Swirl
Subject: Re: [Qemu-devel] [PATCH 0/15][RFC] New PCI interfaces
Date: Fri, 12 Feb 2010 19:40:36 +0200

On Wed, Feb 10, 2010 at 11:13 PM, Anthony Liguori <address@hidden> wrote:
> On 02/10/2010 02:41 PM, Richard Henderson wrote:
>>
>> On 02/10/2010 11:29 AM, Anthony Liguori wrote:
>>>
>>> void *pci_memory_map(PCIDevice *dev, pcibus_t addr, pcibus_t *plen, int
>>> is_write);
>>>
>>> void pci_memory_unmap(PCIDevice *dev, void *buf, pcibus_t *plen, int
>>> is_write, pcibus_t access_len);
>>
>> Are these functions intended to be controllable by the root bus object?
>>  It would be awfully nice if we would design in a hook that allowed iommu
>> mapping to be done properly.
>
> Yes, that's the point.  For something like virtio, you would have a call
> chain like:
>
> virtio_memory_map -> pci_memory_map -> sysbus_memory_map[1] ->
> cpu_memory_map.
>
> Each layer has the ability to do things like implement iommu mapping.
>
> [1] I think it might make sense to have a sysbus layer but I'm not 100% sure
> yet.

In Sun4c, CPU MMU handles also IO, so there we could benefit from
sysbus layer. Sun4c is very low priority though.

For emulation of caches, there would need to be another layer between
CPU and memory, which would not be shared with DMA.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]