diff options
author | Geert Uytterhoeven <geert+renesas@glider.be> | 2023-08-31 14:17:45 +0300 |
---|---|---|
committer | Geert Uytterhoeven <geert+renesas@glider.be> | 2023-09-27 12:00:27 +0300 |
commit | 9797e3519c68fd75eb73eb959f8d11830261e7bb (patch) | |
tree | e35401f97d7ed056054c3c050a69a2825bfd4509 /arch/arm/mach-shmobile/pm-rcar-gen2.c | |
parent | 6b16953bec40e6fce853d2a69b8e738d61896568 (diff) | |
download | linux-9797e3519c68fd75eb73eb959f8d11830261e7bb.tar.xz |
ARM: shmobile: rcar-gen2: Reserve boot area when SMP is enabled
CPU core bringup on R-Car Gen2 SoCs uses the Cortex-A7/A15 Boot Address
Register to specify the boot area of the System CPU. With this enabled,
when the System CPU accesses a physical address in the range from 0x0 to
0x3ffff, the top address bits are replaced by those specified in the
SBAR register. Hence any device residing in the low 256 KiB of physical
address space cannot be accessed.
Prevent conflicts by reserving this memory region using
request_mem_region().
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/091150233acb0557a2ad3294d67b2adb6758670c.1693409184.git.geert+renesas@glider.be
Diffstat (limited to 'arch/arm/mach-shmobile/pm-rcar-gen2.c')
-rw-r--r-- | arch/arm/mach-shmobile/pm-rcar-gen2.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/pm-rcar-gen2.c b/arch/arm/mach-shmobile/pm-rcar-gen2.c index 7447e5fd7ed4..907a4f8c5aed 100644 --- a/arch/arm/mach-shmobile/pm-rcar-gen2.c +++ b/arch/arm/mach-shmobile/pm-rcar-gen2.c @@ -52,6 +52,11 @@ void __init rcar_gen2_pm_init(void) struct resource res; int error; + if (!request_mem_region(0, SZ_256K, "Boot Area")) { + pr_err("Failed to request boot area\n"); + return; + } + for_each_of_cpu_node(np) { if (of_device_is_compatible(np, "arm,cortex-a15")) has_a15 = true; |