arm: Introduce new CONFIG_SPL_SYS_NO_VECTOR_TABLE option
authorPali Rohár <pali@kernel.org>
Wed, 6 Apr 2022 14:20:18 +0000 (16:20 +0200)
committerStefan Roese <sr@denx.de>
Thu, 21 Apr 2022 10:31:36 +0000 (12:31 +0200)
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>
arch/arm/Kconfig
arch/arm/cpu/armv7/start.S
arch/arm/mach-omap2/Kconfig

index efe33a5..10726ea 100644 (file)
@@ -57,6 +57,10 @@ config SYS_INIT_SP_BSS_OFFSET
          that the early malloc region, global data (gd), and early stack usage
          do not overlap any appended DTB.
 
+config SPL_SYS_NO_VECTOR_TABLE
+       depends on SPL
+       bool
+
 config LINUX_KERNEL_IMAGE_HEADER
        depends on ARM64
        bool
index af87a54..3703612 100644 (file)
@@ -97,12 +97,10 @@ switch_to_hypervisor_ret:
        orr     r0, r0, #0xc0           @ disable FIQ and IRQ
        msr     cpsr,r0
 
+#if !CONFIG_IS_ENABLED(SYS_NO_VECTOR_TABLE)
 /*
  * 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 */
        mrc     p15, 0, r0, c1, c0, 0   @ Read CP15 SCTLR Register
        bic     r0, #CR_V               @ V = 0
index 2631426..e1b9180 100644 (file)
@@ -32,6 +32,7 @@ config OMAP34XX
 config OMAP44XX
        bool "OMAP44XX SoC"
        select SPL_USE_TINY_PRINTF
+       select SPL_SYS_NO_VECTOR_TABLE if SPL
        imply NAND_OMAP_ELM
        imply NAND_OMAP_GPMC
        imply SPL_DISPLAY_PRINT