summaryrefslogtreecommitdiffstats
path: root/board/atmel
diff options
context:
space:
mode:
authorHaavard Skinnemoen <haavard.skinnemoen@atmel.com>2008-05-02 15:32:57 +0200
committerHaavard Skinnemoen <haavard.skinnemoen@atmel.com>2008-05-27 15:27:30 +0200
commitcaf83ea888a0220f41747d0b7748fa43b4a4bd49 (patch)
tree3ac20bbef11f75760e772c74b07ef99f8a466908 /board/atmel
parent0c16eed2189a190bd5655b33c029f809a9b31128 (diff)
downloadu-boot-caf83ea888a0220f41747d0b7748fa43b4a4bd49.tar.gz
u-boot-caf83ea888a0220f41747d0b7748fa43b4a4bd49.tar.xz
u-boot-caf83ea888a0220f41747d0b7748fa43b4a4bd49.zip
avr32: Use the same entry point for reset and exception handling
Since the reset vector is always aligned to a very large boundary, we can save a couple of KB worth of alignment padding by placing the exception vectors at the same address. Deciding which one it is is easy: If we're handling an exception, the CPU is in Exception mode. If we're starting up after reset, the CPU is in Supervisor mode. So this adds a very minimal overhead to the reset path (only executed once) and the exception handling path (normally never executed at all.) Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Diffstat (limited to 'board/atmel')
-rw-r--r--board/atmel/atngw100/u-boot.lds1
-rw-r--r--board/atmel/atstk1000/u-boot.lds1
2 files changed, 2 insertions, 0 deletions
diff --git a/board/atmel/atngw100/u-boot.lds b/board/atmel/atngw100/u-boot.lds
index 3c878d8657..e736adf0fc 100644
--- a/board/atmel/atngw100/u-boot.lds
+++ b/board/atmel/atngw100/u-boot.lds
@@ -29,6 +29,7 @@ SECTIONS
. = 0;
_text = .;
.text : {
+ *(.exception.text)
*(.text)
*(.text.*)
}
diff --git a/board/atmel/atstk1000/u-boot.lds b/board/atmel/atstk1000/u-boot.lds
index f63bc4ff27..0d3b19c640 100644
--- a/board/atmel/atstk1000/u-boot.lds
+++ b/board/atmel/atstk1000/u-boot.lds
@@ -29,6 +29,7 @@ SECTIONS
. = 0;
_text = .;
.text : {
+ *(.exception.text)
*(.text)
*(.text.*)
}