Skip to content
Commit 113954c6 authored by Mark Rutland's avatar Mark Rutland Committed by Will Deacon
Browse files

arm64: spin-table: handle unmapped cpu-release-addrs



In certain cases the cpu-release-addr of a CPU may not fall in the
linear mapping (e.g. when the kernel is loaded above this address due to
the presence of other images in memory). This is problematic for the
spin-table code as it assumes that it can trivially convert a
cpu-release-addr to a valid VA in the linear map.

This patch modifies the spin-table code to use a temporary cached
mapping to write to a given cpu-release-addr, enabling us to support
addresses regardless of whether they are covered by the linear mapping.

Acked-by: default avatarLeif Lindholm <leif.lindholm@linaro.org>
Tested-by: default avatarLeif Lindholm <leif.lindholm@linaro.org>
Tested-by: default avatarMark Salter <msalter@redhat.com>
Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
[ardb: added (__force void *) cast]
Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
parent 169c018d
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment