On 19/09/2017 09:57, Alexey Kardashevskiy wrote:
>> We can also resolve "fake" aliases, obtained through a region with only
>> one subregion.
> I just do this now (will post soon):
> 
> 
> empty_view = generate_memory_topology(NULL);
> [...]
> 
> new_view = generate_memory_topology(physmr);
> 
> if (!new_view->nr) {
>     flatview_ref(empty_view);
>     flatview_unref(new_view);
>     new_view = empty_view;
> 
> [...]
> 
> g_hash_table_insert(views, physmr, new_view);
> 
> and that's it. For non empty FVs I need to render FVs anyway and for
> all-disabled/empty FVs it is really cheap so no big loss here.

Is that enough to get 1 shared FV for all bus master address spaces?  In
any case, your patches provide a very good infrastructure and further
optimization can be done easily on top.

Paolo

Reply via email to