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 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html