|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] xen/arm: Skip memory nodes if not enabled
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.
"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 |