Re: [PATCH 5/9] arm64: dts: qcom: msm8916: Reserve MBA memory dynamically

From: Konrad Dybcio
Date: Wed Sep 13 2023 - 04:59:29 EST


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@xxxxxxxxxxx>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx>

Konrad