[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] memory: Do not allow subregion out of the parent region rang
From: |
Christophe de Dinechin |
Subject: |
Re: [PATCH] memory: Do not allow subregion out of the parent region range |
Date: |
Tue, 17 Dec 2019 12:58:11 +0100 |
> On 17 Dec 2019, at 11:51, Paolo Bonzini <address@hidden> wrote:
>
> On 16/12/19 18:46, Philippe Mathieu-Daudé wrote:
>>>>
>>>
>>> I think in some cases this could be intentional, for example if you have
>>> different models with different BAR sizes and you organize this with the
>>> same tree of MemoryRegion and different sizes for the parent.
>>
>> But if a child is outside of the parent range, it can't be reached,
>> right? I'm confused, maybe AddressSpace can do that, but MemoryRegion
>> shouldn't?
>
> Yes, the idea is that you could have for one version of the device
>
> parent 0x000-0x7ff
> stuff 0x000-0x3ff
> morestuff 0x400-0x7ff
>
> and for another
>
> parent 0x000-0x3ff
> stuff 0x000-0x3ff
> morestuff 0x400-0x7ff
>
> where parent is the BAR, and you can share the code to generate the tree
> underneath parent.
I can see why you would have code reuse reasons to do that,
but frankly it looks buggy and confusing. In the rare cases
where this is indented, maybe add a flag making it explicit?
>
>> In the PCI case, you will simply alias a subregion with
>> memory_region_init_alias(..., size), and size has to be <= parent size.
>> But you won't add the PCI region, you'll add the alias, so the assert
>> won't fire.
>
> Yes, this is a workaround though. You shouldn't need the alias.
>
> I can see a case for your patch but I can also see one for the current
> behavior...
>
> Paolo
>
>
- [PATCH] memory: Do not allow subregion out of the parent region range, Philippe Mathieu-Daudé, 2019/12/14
- Re: [PATCH] memory: Do not allow subregion out of the parent region range, Paolo Bonzini, 2019/12/16
- Re: [PATCH] memory: Do not allow subregion out of the parent region range, Philippe Mathieu-Daudé, 2019/12/16
- Re: [PATCH] memory: Do not allow subregion out of the parent region range, Paolo Bonzini, 2019/12/17
- Re: [PATCH] memory: Do not allow subregion out of the parent region range,
Christophe de Dinechin <=
- Re: [PATCH] memory: Do not allow subregion out of the parent region range, Richard Henderson, 2019/12/17
- Re: [PATCH] memory: Do not allow subregion out of the parent region range, Peter Maydell, 2019/12/17
- Re: [PATCH] memory: Do not allow subregion out of the parent region range, Paolo Bonzini, 2019/12/17
- Re: [PATCH] memory: Do not allow subregion out of the parent region range, Alex Williamson, 2019/12/17
- Re: [PATCH] memory: Do not allow subregion out of the parent region range, Philippe Mathieu-Daudé, 2019/12/17