|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] xen/arm: Skip memory nodes if not enabled
> On 26 Sep 2023, at 11:04, Michal Orzel <michal.orzel@xxxxxxx> wrote:
>
> Hi Luca,
>
> On 26/09/2023 11:52, Luca Fancellu wrote:
>>
>>
>>> On 26 Sep 2023, at 06:33, Leo Yan <leo.yan@xxxxxxxxxx> wrote:
>>>
>>> During the Linux kernel booting, an error is reported by the Xen
>>> hypervisor:
>>>
>>> (XEN) arch/arm/p2m.c:2202: d0v0: Failing to acquire the MFN 0x1a02dc
>>>
>>> The kernel attempts to use an invalid memory frame number, which can be
>>> converted to: 0x1a02dc << PAGE_SHIFT, resulting in 0x1_a02d_c000.
>>>
>>> The invalid memory frame falls into a reserved memory node, which is
>>> defined in the device tree as below:
>>>
>>> reserved-memory {
>>> #address-cells = <0x02>;
>>> #size-cells = <0x02>;
>>> ranges;
>>>
>>> ...
>>>
>>> ethosn_reserved {
>>> compatible = "shared-dma-pool";
>>> reg = <0x01 0xa0000000 0x00 0x20000000>;
>>> status = "disabled";
>>> no-map;
>>> };
>>>
>>> ...
>>> };
>>>
>>> Xen excludes all reserved memory regions from the frame management
>>> through the dt_unreserved_regions() function. On the other hand, the
>>> reserved memory nodes are passed to the Linux kernel. However, the Linux
>>> kernel ignores the 'ethosn_reserved' node since its status is
>>> "disabled". This leads to the Linux kernel to allocate pages from the
>>> reserved memory range.
>>
>> I might be wrong, but reading the specifications seems that “status” is not
>> a property
>> of the child nodes of /reserved-memory, so I’m not sure Xen should do
>> something about it.
> Please take a look at dt documentation (v0.4) for /memory and
> /reserved-memory.
> Under the tables listing possible properties, there is a statement:
> Note: All other standard properties (Section 2.3) are allowed but are
> optional.
Thanks for pointing that out, I missed that bit.
>
> "status" is part of standard properties so it is perfectly fine for /memory
> or /reserved-memory
> nodes to have it defined.
>
> ~Michal
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |