qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 17/30] memory: add address_space_translate


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH 17/30] memory: add address_space_translate
Date: Mon, 27 May 2013 10:19:21 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130514 Thunderbird/17.0.6

Il 27/05/2013 09:23, Jan Kiszka ha scritto:
> On 2013-05-27 09:20, Paolo Bonzini wrote:
>> Il 26/05/2013 11:02, Jan Kiszka ha scritto:
>>>>>
>>>>> Nice patches.  Only one thing, how is .impl.unaligned different
>>>>> from the existing .valid.unaligned?
>>> See memory.h: valid controls is an unaligned access traps or gets
>>> processed, impl manages if it is passed as-is to the device or
>>> broken up and aligned first.
>>
>> I took the following patches:
>>
>>     exec: Allow unaligned address_space_rw
>>     exec: Resolve subpages in one step except for IOTLB fills
>>     exec: Implement subpage_read/write via address_space_rw
>>
>> to limit the conflicts and because I realized that TCG should never
>> encounter an IOMMU.
> 
> Err, why? Will we emulate IOMMUs for TCG differently?

Because IOMMUs should never be added to address_space_memory.

TCG should only encounter an IOMMU during device emulation (DMA), not
because of reads/writes from the CPU.  So the IOTLBs should never point
to an IOMMU region.

Paolo

>>  Thus I removed the is_write argument from
>> address_space_translate_internal and moved the IOMMU handling to
>> address_space_translate.  I'll push to my iommu branch after some more
>> testing.  If you reorganize the old_portio handling along the lines I
>> suggested in my previous email you should have no conflicts when rebasing.
> 
> old_portio should rather be eliminated on the long run. But that's a
> future story.
> 
> Jan
> 




reply via email to

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