[PATCH] Revert "arm: bootm: Disable LMB reservation for command line and board info on arm64"

Marek Vasut marex at denx.de
Sun Aug 8 15:35:40 CEST 2021


On 8/6/21 1:31 AM, Tom Rini wrote:
> On Thu, Aug 05, 2021 at 11:53:24PM +0200, Marek Vasut wrote:
>> On 8/2/21 3:00 PM, Tom Rini wrote:
>>> On Mon, Aug 02, 2021 at 02:54:22AM +0200, Marek Vasut wrote:
>>>> On 7/29/21 6:58 PM, Tom Rini wrote:
>>>>
>>>> [...]
>>>>
>>>>>>> so when did rcar3 introduce something there that shouldn't be
>>>>>>> reserved?  And you had phrased this to me on IRC as about reserving spot
>>>>>>> for ATAGS, and that not being needed of course on arm64.  But that's not
>>>>>>> what's going on.  Perhaps the answer is that rcar3 needs to introduce a
>>>>>>> board_lmb_reserve to free the normal arch one and provide whatever more
>>>>>>> narrow scope it needs.
>>>>>>
>>>>>> Based on the commit message 2359fa7a878 ("arm: bootm: Disable LMB
>>>>>> reservation for command line and board info on arm64") , this is about ATAGS
>>>>>> and we really don't need to reserve those on arm64.
>>>>>
>>>>> Commit 2359fa7a878 disables the entire arch_lmb_reserve function on
>>>>> aarch64, yes.  I assumed when we had talked that it was a small area
>>>>> being set aside and perhaps mis-recalled that ATAGS tended to live at
>>>>> DDR_BASE + 0x800 or so.
>>>>
>>>> That arch_lmb_reserve() is responsible for reserving architecture specific
>>>> memory. On arm32 it is ATAGS, on arm64 it is nothing as far as I can tell
>>>> (and see below regarding the TLB).
>>>
>>> I don't think that LMB ever covered ATAGS.  ATAGS, I could have sworn,
>>> were at start of memory + 0x800 or so.  This LMB is for the top of
>>> memory where U-Boot is.
>>
>> What is there to protect which Linux does not set up again ?
> 
> What does Linux have to do this with?  I don't see, but maybe have
> missed, where "U-Boot adds memory region to internal LMB list" is
> translated to "Update the device tree Linux will have with these
> regions".  I do see code to read the reserved-memory regions from a DTB
> and add them to our LMB, but not the other direction.

The whole LMB reservation is done only after calling bootm (and other 
boot commands), and the comment in arch/arm/lib/bootm.c 
arch_lmb_reserve() does indicate the same.


More information about the U-Boot mailing list