Re: [Qemu-devel] [PATCH 2/3] memory: add API for creating ROM/device regions

Anthony Liguori
2011-08-14T15:29:58Z

On 08/13/2011 10:05 PM, Avi Kivity wrote:
> On 08/12/2011 06:48 AM, Anthony Liguori wrote:
>>> target_phys_addr_t offset_in_region;
>>> AddrRange addr;
>>> uint8_t dirty_log_mask;
>>> + bool readable;
>> @@ -125,6 +125,7 @@ struct FlatRange {
>>
>> In a follow up, it might be good to add a comment explaining that this
>> whole readable thing is not just an optimization, but a hard
>> requirement for KVM in order to be able to execute code from ROM.
>
> This has nothing to do with kvm (in fact, I think we cannot support it
> under kvm with current interfaces). It's there to support devices that
> sometimes act as RAM and sometimes as mmio.

That is not a functional behavior but rather an optimization.
Functionally speaking, there is absolutely no different between "acting
as RAM" and "acting as mmio".

But you cannot remove the optimization because of the aforementioned
limitation in KVM.

Maybe it's just me but I find this to be a very subtle detail so a
comment would be helpful :-)

Regards,

Anthony Liguori

>
> We could also do it with a container and playing with subregions. I
> tried it and it was pretty complicated.
>