Re: [PATCH] memory: transaction API

Jan Kiszka
2011-07-21T12:52:51Z

On 2011-07-21 14:13, Avi Kivity wrote:
> On 07/21/2011 03:09 PM, Jan Kiszka wrote:
>>>
>>> Why? just stick a _begin() and _commit() at the start and end of the
>>> update_mapping() function. It's an optional API, for simple cases (like
>>> mapping a BAR) you don't have to use it.
>>
>> begin
>> delete old
>> free old
>> create new
>> add new
>> end
>>
>> vs.
>>
>> update
>>
>
> The problem is that "update" can change lots of things. offset, size,
> whether it's mmio or RAM, read-onlyness, even the wierd things like
> coalesced mmio. So it's either a function with 324.2 parameters (or a
> large struct), or it's a series of functions with demarcation as to
> where the update begins and ends.

We do not need to provide update support for each and every bit, but for
the common cases. memory_region_update_alias(region, offset, size) would
be an excellent first candidate IMO.

Jan

--
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux