aboutsummaryrefslogtreecommitdiff
path: root/arch/arm
diff options
context:
space:
mode:
authorPali Rohár2022-04-06 16:20:19 +0200
committerStefan Roese2022-04-21 12:31:36 +0200
commit5165d2a04a777a9b636d6a3fe6d23f9c5086ff62 (patch)
treef500cadf5b9c06eee5b986aff8e0d4ee13d1b3bf /arch/arm
parent372779abc3efe869aaa3c61c4bf6e2fcbaa46b57 (diff)
arm: Do not compile vector table when SYS_NO_VECTOR_TABLE is enabled
Vector table is not used when SYS_NO_VECTOR_TABLE is enabled. So do not compile it and reduce image size. Signed-off-by: Pali Rohár <pali@kernel.org>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/lib/vectors.S6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm/lib/vectors.S b/arch/arm/lib/vectors.S
index 56f36815582..a54c84b062b 100644
--- a/arch/arm/lib/vectors.S
+++ b/arch/arm/lib/vectors.S
@@ -24,6 +24,7 @@
#else
b reset
#endif
+#if !CONFIG_IS_ENABLED(SYS_NO_VECTOR_TABLE)
ldr pc, _undefined_instruction
ldr pc, _software_interrupt
ldr pc, _prefetch_abort
@@ -31,6 +32,7 @@
ldr pc, _not_used
ldr pc, _irq
ldr pc, _fiq
+#endif
.endm
@@ -87,6 +89,7 @@ _start:
ARM_VECTORS
#endif /* !defined(CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK) */
+#if !CONFIG_IS_ENABLED(SYS_NO_VECTOR_TABLE)
/*
*************************************************************************
*
@@ -118,6 +121,7 @@ _irq: .word irq
_fiq: .word fiq
.balignl 16,0xdeadbeef
+#endif
/*
*************************************************************************
@@ -131,6 +135,7 @@ _fiq: .word fiq
#ifdef CONFIG_SPL_BUILD
+#if !CONFIG_IS_ENABLED(SYS_NO_VECTOR_TABLE)
.align 5
undefined_instruction:
software_interrupt:
@@ -141,6 +146,7 @@ irq:
fiq:
1:
b 1b /* hang and never return */
+#endif
#else /* !CONFIG_SPL_BUILD */