[rtems commit] bsps/arm: BSP_START_VECTOR_ADDRESS_TABLE_ALIGNMENT

Sebastian Huber sebh at rtems.org
Wed Dec 6 15:37:27 UTC 2023


Module:    rtems
Branch:    master
Commit:    ba89aae89d45d5d611a7f7163f3c73268a5a32b9
Changeset: http://git.rtems.org/rtems/commit/?id=ba89aae89d45d5d611a7f7163f3c73268a5a32b9

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Mon Apr 17 15:37:07 2023 +0200

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.

---

 bsps/arm/shared/start/start.S                |  4 ++++
 spec/build/bsps/arm/optstartvecaddralign.yml | 22 ++++++++++++++++++++++
 spec/build/bsps/arm/start.yml                |  4 +++-
 3 files changed, 29 insertions(+), 1 deletion(-)

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



More information about the vc mailing list