summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2014-12-05 11:07:02 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2014-12-05 11:07:02 +0100
commit4a3db517e4c850a064a85642abce240b7a470af1 (patch)
tree755b90cf756b172722ef47736e76e48bb654ef6b
parentUpdate bug report URL (diff)
downloadrtems-4a3db517e4c850a064a85642abce240b7a470af1.tar.bz2
bsps/sparc: Fix trap table initialization
Fixes bug introduced with dff1803cfbec3775fff1b9c34cc707c05494dc3b.
-rw-r--r--c/src/lib/libbsp/sparc/erc32/startup/spurious.c10
-rw-r--r--c/src/lib/libbsp/sparc/leon2/startup/spurious.c10
-rw-r--r--c/src/lib/libbsp/sparc/leon3/startup/spurious.c2
3 files changed, 13 insertions, 9 deletions
diff --git a/c/src/lib/libbsp/sparc/erc32/startup/spurious.c b/c/src/lib/libbsp/sparc/erc32/startup/spurious.c
index 05f6efa74f..3d2128a82f 100644
--- a/c/src/lib/libbsp/sparc/erc32/startup/spurious.c
+++ b/c/src/lib/libbsp/sparc/erc32/startup/spurious.c
@@ -155,14 +155,16 @@ void bsp_spurious_initialize()
/*
* Skip window overflow, underflow, and flush as well as software
- * trap 0 which we will use as a shutdown. Also avoid trap 0x70 - 0x7f
- * which cannot happen and where some of the space is used to pass
- * paramaters to the program.
+ * trap 0,9,10 which we will use as a shutdown, IRQ disable, IRQ enable.
+ * Also avoid trap 0x70 - 0x7f which cannot happen and where some of the
+ * space is used to pass parameters to the program.
*/
if (( trap == 5 || trap == 6 ) ||
(( trap >= 0x11 ) && ( trap <= 0x1f )) ||
- (( trap >= 0x70 ) && ( trap <= 0x83 )))
+ (( trap >= 0x70 ) && ( trap <= 0x83 )) ||
+ ( trap == 0x80 + SPARC_SWTRAP_IRQDIS ) ||
+ ( trap == 0x80 + SPARC_SWTRAP_IRQEN ))
continue;
set_vector( (rtems_isr_entry) bsp_spurious_handler,
diff --git a/c/src/lib/libbsp/sparc/leon2/startup/spurious.c b/c/src/lib/libbsp/sparc/leon2/startup/spurious.c
index 6b43a39dd9..43435d955c 100644
--- a/c/src/lib/libbsp/sparc/leon2/startup/spurious.c
+++ b/c/src/lib/libbsp/sparc/leon2/startup/spurious.c
@@ -142,14 +142,16 @@ void bsp_spurious_initialize()
/*
* Skip window overflow, underflow, and flush as well as software
- * trap 0 which we will use as a shutdown. Also avoid trap 0x70 - 0x7f
- * which cannot happen and where some of the space is used to pass
- * paramaters to the program.
+ * trap 0,9,10 which we will use as a shutdown, IRQ disable, IRQ enable.
+ * Also avoid trap 0x70 - 0x7f which cannot happen and where some of the
+ * space is used to pass parameters to the program.
*/
if (( trap == 5 || trap == 6 ) ||
(( trap >= 0x11 ) && ( trap <= 0x1f )) ||
- (( trap >= 0x70 ) && ( trap <= 0x83 )))
+ (( trap >= 0x70 ) && ( trap <= 0x83 )) ||
+ ( trap == 0x80 + SPARC_SWTRAP_IRQDIS ) ||
+ ( trap == 0x80 + SPARC_SWTRAP_IRQEN ))
continue;
set_vector(
diff --git a/c/src/lib/libbsp/sparc/leon3/startup/spurious.c b/c/src/lib/libbsp/sparc/leon3/startup/spurious.c
index f4b02e3c3d..0fb784963b 100644
--- a/c/src/lib/libbsp/sparc/leon3/startup/spurious.c
+++ b/c/src/lib/libbsp/sparc/leon3/startup/spurious.c
@@ -149,7 +149,7 @@ void bsp_spurious_initialize()
* Skip window overflow, underflow, and flush as well as software
* trap 0,9,10 which we will use as a shutdown, IRQ disable, IRQ enable.
* Also avoid trap 0x70 - 0x7f which cannot happen and where some of the
- * space is used to pass paramaters to the program.
+ * space is used to pass parameters to the program.
*/
if (( trap == 5 ) || ( trap == 6 ) ||