|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v3 2/4] docs, xen/arm: Introduce static heap memory
Hi,
> On 7 Sep 2022, at 14:37, Michal Orzel <michal.orzel@xxxxxxx> wrote:
>
>
>
> On 07/09/2022 15:33, Bertrand Marquis wrote:
>>
>>> On 7 Sep 2022, at 14:31, Michal Orzel <michal.orzel@xxxxxxx> wrote:
>>>
>>>
>>>
>>> On 07/09/2022 15:28, Bertrand Marquis wrote:
>>>>
>>>> Hi Michal,
>>>>
>>>>> On 7 Sep 2022, at 14:09, Michal Orzel <michal.orzel@xxxxxxx> wrote:
>>>>>
>>>>>
>>>>> On 07/09/2022 14:45, Julien Grall wrote:
>>>>>>
>>>>>> On 07/09/2022 13:41, Michal Orzel wrote:
>>>>>>>
>>>>>>>
>>>>>>> On 07/09/2022 14:32, Julien Grall wrote:
>>>>>>>> [CAUTION: External Email]
>>>>>>>>
>>>>>>>> On 07/09/2022 13:12, Michal Orzel wrote:
>>>>>>>>> Hi Julien,
>>>>>>>>
>>>>>>>> Hi Michal,
>>>>>>>>
>>>>>>>>> On 07/09/2022 13:36, Julien Grall wrote:
>>>>>>>>>>
>>>>>>>>>> Hi Henry,
>>>>>>>>>>
>>>>>>>>>> While reviewing the binding sent by Penny I noticed some
>>>>>>>>>> inconsistency
>>>>>>>>>> with the one you introduced. See below.
>>>>>>>>>>
>>>>>>>>>> On 07/09/2022 09:36, Henry Wang wrote:
>>>>>>>>>>> +- xen,static-heap
>>>>>>>>>>> +
>>>>>>>>>>> + Property under the top-level "chosen" node. It specifies the
>>>>>>>>>>> address
>>>>>>>>>>> + and size of Xen static heap memory. Note that at least a 64KB
>>>>>>>>>>> + alignment is required.
>>>>>>>>>>> +
>>>>>>>>>>> +- #xen,static-heap-address-cells and #xen,static-heap-size-cells
>>>>>>>>>>> +
>>>>>>>>>>> + Specify the number of cells used for the address and size of
>>>>>>>>>>> the
>>>>>>>>>>> + "xen,static-heap" property under "chosen".
>>>>>>>>>>> +
>>>>>>>>>>> +Below is an example on how to specify the static heap in device
>>>>>>>>>>> tree:
>>>>>>>>>>> +
>>>>>>>>>>> + / {
>>>>>>>>>>> + chosen {
>>>>>>>>>>> + #xen,static-heap-address-cells = <0x2>;
>>>>>>>>>>> + #xen,static-heap-size-cells = <0x2>;
>>>>>>>>>>
>>>>>>>>>> Your binding, is introduce #xen,static-heap-{address, size}-cells
>>>>>>>>>> whereas Penny's one is using #{address, size}-cells even if the
>>>>>>>>>> property
>>>>>>>>>> is not "reg".
>>>>>>>>>>
>>>>>>>>>> I would like some consistency in the way we define bindings. Looking
>>>>>>>>>> at
>>>>>>>>>> the tree, we already seem to have introduced
>>>>>>>>>> #xen-static-mem-address-cells. So maybe we should follow your
>>>>>>>>>> approach?
>>>>>>>>>>
>>>>>>>>>> That said, I am wondering whether we should just use one set of
>>>>>>>>>> property
>>>>>>>>>> name.
>>>>>>>>>>
>>>>>>>>>> I am open to suggestion here. My only request is we are consistent
>>>>>>>>>> (i.e.
>>>>>>>>>> this doesn't depend on who wrote the bindings).
>>>>>>>>>>
>>>>>>>>> In my opinion we should follow the device tree specification which
>>>>>>>>> states
>>>>>>>>> that the #address-cells and #size-cells correspond to the reg
>>>>>>>>> property.
>>>>>>>>
>>>>>>>> Hmmm.... Looking at [1], the two properties are not exclusive to 'reg'
>>>>>>>> Furthermore, I am not aware of any restriction for us to re-use them.
>>>>>>>> Do
>>>>>>>> you have a pointer?
>>>>>>>
>>>>>>> As we are discussing re-usage of #address-cells and #size-cells for
>>>>>>> custom properties that are not "reg",
>>>>>>> I took this info from the latest device tree specs found under
>>>>>>> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.devicetree.org%2Fspecifications%2F&data=05%7C01%7Cmichal.orzel%40amd.com%7Cc677a7983cd94e48620708da90d5a15f%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637981544487489692%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=1uwtf%2F6shf2PiKu0XZPFNQ%2B6iyhLrMsYb1XEru3IGlg%3D&reserved=0:
>>>>>>> "The #address-cells property defines the number of <u32> cells used to
>>>>>>> encode the address field in a child node's reg property"
>>>>>>> and
>>>>>>> "The #size-cells property defines the number of <u32> cells used to
>>>>>>> encode the size field in a child node’s reg property"
>>>>>>
>>>>>> Right. But there is nothing in the wording suggesting that
>>>>>> #address-cells and #size-cells can't be re-used. From [1], it is clear
>>>>>> that the meaning has changed.
>>>>>>
>>>>>> So why can't we do the same?
>>>>> I think this is a matter of how someone reads these sentences.
>>>>> I do not think that such documents need to state:
>>>>> "This property is for the reg. Do not use it for other purposes."
>>>>> The first part of the sentence is enough to inform what is supported.
>>>>>
>>>>> On the other hand, looking at [1] these properties got new purposes
>>>>> so I think we could do the same. Now the question is whether we want that.
>>>>> I think it is doable to just have a single pair of #address/#size
>>>>> properties.
>>>>> For instance xen,shared-mem requiring just 0x1 for address/size
>>>>> and reg requiring 0x2. This would just imply putting additional 0x00.
>>>>
>>>> I think we want in general to reduce complexity when possible.
>>>> Here we are adding a lot of entries in the device tree where we know that
>>>> in all cases having only 2 will work all the time.
>>>>
>>>> I am not convinced by the arguments on not using #address-cells and will
>>>> leave that one to Stefano
>>>>
>>>> But in any case we should only add one pair here for sure, as you say the
>>>> only implication is to add a couple of 0 in the worst case.
>>> I agree. The only drawback is the need to modify the already introduced
>>> properties
>>> to be coherent.
>>
>> Agree, someone will need to do a pass on the whole doc which might be easier
>> with all things in.
>>
> Well, not only docs. If we decide to use a single pair of #address-cells and
> #size-cells, then
> we need to modify the code that expects different properties e.g.
> xen,static-mem-{address/size}-cells.
Right I forgot that some parts are already in.
So we will need an extra patch to handle those.
Bertrand
>
>> Cheers
>> Bertrand
>>
>>>
>>>>
>>>> Cheers
>>>> Bertrand
>>>>
>>>>>
>>>>>>
>>>>>> Cheers,
>>>>>>
>>>>>> --
>>>>>> Julien Grall
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |