[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1b8c72e3-956b-41d4-ab96-198b5a388eba@linaro.org>
Date: Wed, 13 Sep 2023 10:59:21 +0200
From: Konrad Dybcio <konrad.dybcio@...aro.org>
To: Stephan Gerhold <stephan@...hold.net>,
Bjorn Andersson <andersson@...nel.org>
Cc: Andy Gross <agross@...nel.org>, linux-arm-msm@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
Bryan O'Donoghue <bryan.odonoghue@...aro.org>
Subject: Re: [PATCH 5/9] arm64: dts: qcom: msm8916: Reserve MBA memory
dynamically
On 11.09.2023 19:41, Stephan Gerhold wrote:
> At a first glance the MBA memory region on MSM8916 looks intentionally
> placed at the fixed address 0x8ea00000. This is what the ELF headers of
> the firmware specify as base address, and the typical Qualcomm-specific
> bits suggest the binary is not relocatable.
>
> However, on a closer look this is pointless: Unlike other firmware
> images the hardware expects to have the raw ELF image loaded to the MBA
> region, including the ELF header (without parsing it at all). This
> means that we actually just load the ELF header (not the code!) at
> 0x8ea00000. The real LOAD segments follow at arbitrary aligned
> addresses depending on the structure of the ELF binary.
>
> In practice it looks like we can use an arbitrary 1 MiB-aligned region
> for MBA. The downstream/vendor kernel just allocates this dynamically
> at an arbitrary (aligned) address.
>
> Drop the pointless fixed address and use the new dynamic reserved
> memory mechanism to allocate a region close to the others. This reduces
> gaps in the memory map and provides Linux with more contiguous memory.
>
> Signed-off-by: Stephan Gerhold <stephan@...hold.net>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@...aro.org>
Konrad
Powered by blists - more mailing lists