summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2023-04-17 15:37:07 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2023-12-06 13:35:37 +0100
commitba89aae89d45d5d611a7f7163f3c73268a5a32b9 (patch)
tree61c169215ab84df63510d209196878eb31cf362d
parentbuild: Add assert-in-set option action (diff)
downloadrtems-ba89aae89d45d5d611a7f7163f3c73268a5a32b9.tar.bz2
bsps/arm: BSP_START_VECTOR_ADDRESS_TABLE_ALIGNMENT
Add the BSP option BSP_START_VECTOR_ADDRESS_TABLE_ALIGNMENT to optionally define an alignment of the vector address table begin.
-rw-r--r--bsps/arm/shared/start/start.S4
-rw-r--r--spec/build/bsps/arm/optstartvecaddralign.yml22
-rw-r--r--spec/build/bsps/arm/start.yml4
3 files changed, 29 insertions, 1 deletions
diff --git a/bsps/arm/shared/start/start.S b/bsps/arm/shared/start/start.S
index 936691599b..dfd0d3891d 100644
--- a/bsps/arm/shared/start/start.S
+++ b/bsps/arm/shared/start/start.S
@@ -77,6 +77,10 @@ bsp_start_vector_table_begin:
ldr pc, .Lhandler_addr_irq
ldr pc, .Lhandler_addr_fiq
+#ifdef BSP_START_VECTOR_ADDRESS_TABLE_ALIGNMENT
+.balign BSP_START_VECTOR_ADDRESS_TABLE_ALIGNMENT
+#endif
+
.Lhandler_addr_reset:
#ifdef BSP_START_RESET_VECTOR
diff --git a/spec/build/bsps/arm/optstartvecaddralign.yml b/spec/build/bsps/arm/optstartvecaddralign.yml
new file mode 100644
index 0000000000..aa12b1968b
--- /dev/null
+++ b/spec/build/bsps/arm/optstartvecaddralign.yml
@@ -0,0 +1,22 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+actions:
+- get-integer: null
+- format-and-define: null
+build-type: option
+copyrights:
+- Copyright (C) 2023 embedded brains GmbH & Co. KG
+default:
+- enabled-by: bsps/arm/tms570
+ value: 64
+- enabled-by: true
+ value: null
+description: |
+ Defines the alignment in bytes of the vector address table begin. The vector
+ address table contains the exception handler addresses. When no alignment is
+ specified, the vector address table immediately follows the vector
+ instruction table.
+enabled-by: true
+format: '{}'
+links: []
+name: BSP_START_VECTOR_ADDRESS_TABLE_ALIGNMENT
+type: build
diff --git a/spec/build/bsps/arm/start.yml b/spec/build/bsps/arm/start.yml
index 067fec1173..8e82d0ea48 100644
--- a/spec/build/bsps/arm/start.yml
+++ b/spec/build/bsps/arm/start.yml
@@ -7,7 +7,9 @@ cppflags: []
enabled-by: true
includes: []
install-path: ${BSP_LIBDIR}
-links: []
+links:
+- role: build-dependency
+ uid: optstartvecaddralign
source:
- bsps/arm/shared/start/start.S
target: start.o