mirror of
https://xff.cz/git/u-boot/
synced 2025-10-26 16:13:55 +01:00
The header (NSIH) used for the s5p4418-SoC is not loaded into RAM by the 2nd-bootloader, see boot0.h. Therefore, use an adapted version of relocate_vectors which relocates the vectors after the header (at _start) instead of the 'dummy'-vectors at the start of the header (at __image_copy_start). Signed-off-by: Stefan Bosch <stefan_b@posteo.net> Reviewed-by: Minkyu Kang <mk7.kang@samsung.com>
25 lines
636 B
ArmAsm
25 lines
636 B
ArmAsm
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
/*
|
|
* relocate - S5P4418 specific relocation for ARM U-Boot
|
|
*
|
|
* Copyright (c) 2013 Albert ARIBAUD <albert.u.boot@aribaud.net>
|
|
* Copyright (C) 2023 Stefan Bosch <stefan_b@posteo.net>
|
|
*/
|
|
|
|
#include <asm-offsets.h>
|
|
#include <asm/assembler.h>
|
|
#include <linux/linkage.h>
|
|
|
|
ENTRY(relocate_vectors)
|
|
|
|
/*
|
|
* The s5p4418 SoC has the security extensions, so use VBAR to relocate
|
|
* the exception vectors.
|
|
*/
|
|
ldr r0, [r9, #GD_RELOCADDR] /* r0 = gd->relocaddr */
|
|
add r0, #0x400 /* vectors are after NSIH + 0x200 */
|
|
mcr p15, 0, r0, c12, c0, 0 /* Set VBAR */
|
|
ret lr
|
|
|
|
ENDPROC(relocate_vectors)
|