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: Jan Kiszka
Subject: Re: [Qemu-devel] [PATCH 17/30] memory: add address_space_translate
Date: Sun, 26 May 2013 11:12:26 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666

On 2013-05-26 11:01, Paolo Bonzini wrote:
> Il 25/05/2013 13:30, Jan Kiszka ha scritto:
>> On 2013-05-25 13:20, Paolo Bonzini wrote:
>>> Il 25/05/2013 12:19, Jan Kiszka ha scritto:
>>>> addr -= section->offset_within_address_space; -        len =
>>>> MIN(section->size - addr, len);
>>> ^^^^^^^^^^^^^   ^^^^
>>>
>>> This is the size of a section minus an offset in the section.
>>>
>>>> +        diff = int128_sub(section->mr->size,
>>>> int128_make64(addr));
>>> ^^^^^^^^^^^^^^^^^                ^^^^
>>>
>>> This is the size of a region minus the same offset in the
>>> section.
>>>
>>>> +        len = MIN(int128_get64(diff), len);
>>>>
>>>> /* Compute offset within MemoryRegion */ addr +=
>>>> section->offset_within_region;
>>>
>>> So this has to be moved above.
> 
>> Right, fixed.
> 
>>> Do you have a branch pushed somewhere that I can test against?
> 
>> git://git.kiszka.org/qemu.git queues/ioport
> 
> And another thing... in "ioport: Switch dispatching to memory core
> layer", could you put memory_region_iorange_read/write in
> mr->ops->read/write instead of adding an "if" in the dispatch routines?

Not trivially because mr->opaque is passed to the read/write handler,
but memory_region_iorange_read/write needs the region. Can add more data
structures to handles this, but what does it buy us?

Jan

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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