[PATCH] ARM: mvebu: use __pa_symbol in the mv98dx3236 platform SMP code

Chris Packham Chris.Packham at alliedtelesis.co.nz
Sun Jul 9 14:32:44 PDT 2017


On 07/07/17 19:59, Gregory CLEMENT wrote:
> As we already did for Armada XP switch from virt_to_phys() to
> __pa_symbol().
> 
> The reason for it was well explained by Mark Rutland so let's quote him:
> 
> "virt_to_phys() is intended to operate on the linear/direct mapping of
> RAM.
> 
> __pa_symbol() is intended to operate on the kernel mapping, which may
> not be in the linear/direct mapping on all architectures. e.g. arm64 and
> x86_64 map the kernel image and RAM separately.
> 
> On 32-bit ARM the kernel image mapping is tied to the linear/direct
> mapping, so that works, but as it's semantically wrong (and broken for
> generic code), the DEBUG_VIRTUAL checks complain."
> 
> Fixes: db88977894ab ("arm: mvebu: support for SMP on 98DX3336 SoC")
> Cc: <stable at vger.kernel.org>
> Signed-off-by: Gregory CLEMENT <gregory.clement at free-electrons.com>
> ---
> 
> Hi Chris,
> 
> with this patch I don't expect any regression, hover it would be nice
> if you can test it.

Works for me

Tested-by: Chris Packham <chris.packham at alliedtelesis.co.nz>





More information about the linux-arm-kernel mailing list