arm: Introduce new CONFIG_SPL_SYS_NO_VECTOR_TABLE option

Move OMAP4 specific option for disabling overwriting vector table into
config option CONFIG_SPL_SYS_NO_VECTOR_TABLE.

Signed-off-by: Pali Rohár <pali@kernel.org>
This commit is contained in:
Pali Rohár 2022-04-06 16:20:18 +02:00 committed by Stefan Roese
parent a339d6c464
commit 372779abc3
3 changed files with 6 additions and 3 deletions

View File

@ -57,6 +57,10 @@ config SYS_INIT_SP_BSS_OFFSET
that the early malloc region, global data (gd), and early stack usage that the early malloc region, global data (gd), and early stack usage
do not overlap any appended DTB. do not overlap any appended DTB.
config SPL_SYS_NO_VECTOR_TABLE
depends on SPL
bool
config LINUX_KERNEL_IMAGE_HEADER config LINUX_KERNEL_IMAGE_HEADER
depends on ARM64 depends on ARM64
bool bool

View File

@ -97,12 +97,10 @@ switch_to_hypervisor_ret:
orr r0, r0, #0xc0 @ disable FIQ and IRQ orr r0, r0, #0xc0 @ disable FIQ and IRQ
msr cpsr,r0 msr cpsr,r0
#if !CONFIG_IS_ENABLED(SYS_NO_VECTOR_TABLE)
/* /*
* Setup vector: * Setup vector:
* (OMAP4 spl TEXT_BASE is not 32 byte aligned.
* Continue to use ROM code vector only in OMAP4 spl)
*/ */
#if !(defined(CONFIG_OMAP44XX) && defined(CONFIG_SPL_BUILD))
/* Set V=0 in CP15 SCTLR register - for VBAR to point to vector */ /* Set V=0 in CP15 SCTLR register - for VBAR to point to vector */
mrc p15, 0, r0, c1, c0, 0 @ Read CP15 SCTLR Register mrc p15, 0, r0, c1, c0, 0 @ Read CP15 SCTLR Register
bic r0, #CR_V @ V = 0 bic r0, #CR_V @ V = 0

View File

@ -32,6 +32,7 @@ config OMAP34XX
config OMAP44XX config OMAP44XX
bool "OMAP44XX SoC" bool "OMAP44XX SoC"
select SPL_USE_TINY_PRINTF select SPL_USE_TINY_PRINTF
select SPL_SYS_NO_VECTOR_TABLE if SPL
imply NAND_OMAP_ELM imply NAND_OMAP_ELM
imply NAND_OMAP_GPMC imply NAND_OMAP_GPMC
imply SPL_DISPLAY_PRINT imply SPL_DISPLAY_PRINT