summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/m68k
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2012-11-14 09:59:10 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2012-11-15 15:33:12 +0100
commita052181ca2e243540342315cde990b9471331a8e (patch)
tree2e8dfd9152bfc1d37fcb05f58de9d6b0e80eb8b3 /c/src/lib/libbsp/m68k
parentscore: Add RTEMS_FATAL_SOURCE_APPLICATION (diff)
downloadrtems-a052181ca2e243540342315cde990b9471331a8e.tar.bz2
score: Add RTEMS_FATAL_SOURCE_EXIT
Include <bsp/default-initial-extension.h> in all BSPs. Call rtems_fatal() with RTEMS_FATAL_SOURCE_EXIT as source and the exit() status code as fatal code in every bsp_cleanup(). Move previous bsp_cleanup() code into bsp_fatal_extension().
Diffstat (limited to 'c/src/lib/libbsp/m68k')
-rw-r--r--c/src/lib/libbsp/m68k/av5282/include/bsp.h1
-rw-r--r--c/src/lib/libbsp/m68k/csb360/include/bsp.h1
-rw-r--r--c/src/lib/libbsp/m68k/gen68302/include/bsp.h1
-rw-r--r--c/src/lib/libbsp/m68k/gen68340/include/bsp.h1
-rw-r--r--c/src/lib/libbsp/m68k/gen68360/include/bsp.h1
-rw-r--r--c/src/lib/libbsp/m68k/genmcf548x/include/bsp.h1
-rw-r--r--c/src/lib/libbsp/m68k/idp/include/bsp.h1
-rw-r--r--c/src/lib/libbsp/m68k/mcf5206elite/include/bsp.h1
-rw-r--r--c/src/lib/libbsp/m68k/mcf52235/include/bsp.h1
-rw-r--r--c/src/lib/libbsp/m68k/mcf5225x/include/bsp.h1
-rw-r--r--c/src/lib/libbsp/m68k/mcf5225x/startup/bspclean.c15
-rw-r--r--c/src/lib/libbsp/m68k/mcf5235/include/bsp.h1
-rw-r--r--c/src/lib/libbsp/m68k/mcf5329/include/bsp.h1
-rw-r--r--c/src/lib/libbsp/m68k/mrm332/include/bsp.h1
-rw-r--r--c/src/lib/libbsp/m68k/mvme136/include/bsp.h1
-rw-r--r--c/src/lib/libbsp/m68k/mvme136/startup/bspclean.c13
-rw-r--r--c/src/lib/libbsp/m68k/mvme147/include/bsp.h1
-rw-r--r--c/src/lib/libbsp/m68k/mvme147/startup/bspclean.c13
-rw-r--r--c/src/lib/libbsp/m68k/mvme147s/include/bsp.h1
-rw-r--r--c/src/lib/libbsp/m68k/mvme162/include/bsp.h1
-rw-r--r--c/src/lib/libbsp/m68k/mvme162/startup/bspclean.c13
-rw-r--r--c/src/lib/libbsp/m68k/mvme167/include/bsp.h1
-rw-r--r--c/src/lib/libbsp/m68k/mvme167/startup/bspclean.c13
-rw-r--r--c/src/lib/libbsp/m68k/ods68302/include/bsp.h1
-rw-r--r--c/src/lib/libbsp/m68k/sim68000/include/bsp.h1
-rw-r--r--c/src/lib/libbsp/m68k/uC5282/include/bsp.h1
-rw-r--r--c/src/lib/libbsp/m68k/uC5282/startup/bspclean.c11
27 files changed, 85 insertions, 14 deletions
diff --git a/c/src/lib/libbsp/m68k/av5282/include/bsp.h b/c/src/lib/libbsp/m68k/av5282/include/bsp.h
index 75c289dfe9..6af587a8b5 100644
--- a/c/src/lib/libbsp/m68k/av5282/include/bsp.h
+++ b/c/src/lib/libbsp/m68k/av5282/include/bsp.h
@@ -10,6 +10,7 @@ extern "C" {
#endif
#include <bspopts.h>
+#include <bsp/default-initial-extension.h>
#include <rtems.h>
#include <rtems/iosupp.h>
diff --git a/c/src/lib/libbsp/m68k/csb360/include/bsp.h b/c/src/lib/libbsp/m68k/csb360/include/bsp.h
index 8f364dc4be..2e32a3dcd3 100644
--- a/c/src/lib/libbsp/m68k/csb360/include/bsp.h
+++ b/c/src/lib/libbsp/m68k/csb360/include/bsp.h
@@ -110,6 +110,7 @@ extern "C" {
#include <rtems/console.h>
#include <rtems/iosupp.h>
#include <rtems/clockdrv.h>
+#include <bsp/default-initial-extension.h>
struct rtems_bsdnet_ifconfig;
extern int rtems_enet_driver_attach (struct rtems_bsdnet_ifconfig *config);
diff --git a/c/src/lib/libbsp/m68k/gen68302/include/bsp.h b/c/src/lib/libbsp/m68k/gen68302/include/bsp.h
index 6b3b397c29..4fdb60cae4 100644
--- a/c/src/lib/libbsp/m68k/gen68302/include/bsp.h
+++ b/c/src/lib/libbsp/m68k/gen68302/include/bsp.h
@@ -20,6 +20,7 @@ extern "C" {
#endif
#include <bspopts.h>
+#include <bsp/default-initial-extension.h>
#include <rtems.h>
#include <rtems/console.h>
diff --git a/c/src/lib/libbsp/m68k/gen68340/include/bsp.h b/c/src/lib/libbsp/m68k/gen68340/include/bsp.h
index e8b2c98f8c..bc5142cccd 100644
--- a/c/src/lib/libbsp/m68k/gen68340/include/bsp.h
+++ b/c/src/lib/libbsp/m68k/gen68340/include/bsp.h
@@ -23,6 +23,7 @@ extern "C" {
#endif
#include <bspopts.h>
+#include <bsp/default-initial-extension.h>
#include <rtems.h>
#include <rtems/console.h>
diff --git a/c/src/lib/libbsp/m68k/gen68360/include/bsp.h b/c/src/lib/libbsp/m68k/gen68360/include/bsp.h
index 4de5a4f362..383946f1ef 100644
--- a/c/src/lib/libbsp/m68k/gen68360/include/bsp.h
+++ b/c/src/lib/libbsp/m68k/gen68360/include/bsp.h
@@ -29,6 +29,7 @@ extern "C" {
#endif
#include <bspopts.h>
+#include <bsp/default-initial-extension.h>
#include <rtems.h>
#include <rtems/console.h>
diff --git a/c/src/lib/libbsp/m68k/genmcf548x/include/bsp.h b/c/src/lib/libbsp/m68k/genmcf548x/include/bsp.h
index dba6f5ae4c..0379d69ef1 100644
--- a/c/src/lib/libbsp/m68k/genmcf548x/include/bsp.h
+++ b/c/src/lib/libbsp/m68k/genmcf548x/include/bsp.h
@@ -50,6 +50,7 @@
extern "C" {
#endif
#include <bspopts.h>
+#include <bsp/default-initial-extension.h>
#include <rtems.h>
#include <rtems/iosupp.h>
diff --git a/c/src/lib/libbsp/m68k/idp/include/bsp.h b/c/src/lib/libbsp/m68k/idp/include/bsp.h
index 72795f99e2..599bf1fba9 100644
--- a/c/src/lib/libbsp/m68k/idp/include/bsp.h
+++ b/c/src/lib/libbsp/m68k/idp/include/bsp.h
@@ -7,6 +7,7 @@
#define _BSP_H
#include <bspopts.h>
+#include <bsp/default-initial-extension.h>
#include <rtems.h>
#include <rtems/console.h>
diff --git a/c/src/lib/libbsp/m68k/mcf5206elite/include/bsp.h b/c/src/lib/libbsp/m68k/mcf5206elite/include/bsp.h
index 074e05c589..f06444e33c 100644
--- a/c/src/lib/libbsp/m68k/mcf5206elite/include/bsp.h
+++ b/c/src/lib/libbsp/m68k/mcf5206elite/include/bsp.h
@@ -127,6 +127,7 @@ extern "C" {
#include <rtems/iosupp.h>
#include <rtems/clockdrv.h>
#include <rtems/rtc.h>
+#include <bsp/default-initial-extension.h>
#include "i2c.h"
diff --git a/c/src/lib/libbsp/m68k/mcf52235/include/bsp.h b/c/src/lib/libbsp/m68k/mcf52235/include/bsp.h
index 701e604327..6bd6aa8229 100644
--- a/c/src/lib/libbsp/m68k/mcf52235/include/bsp.h
+++ b/c/src/lib/libbsp/m68k/mcf52235/include/bsp.h
@@ -10,6 +10,7 @@ extern "C" {
#endif
#include <bspopts.h>
+#include <bsp/default-initial-extension.h>
#include <rtems.h>
#include <rtems/iosupp.h>
#include <rtems/console.h>
diff --git a/c/src/lib/libbsp/m68k/mcf5225x/include/bsp.h b/c/src/lib/libbsp/m68k/mcf5225x/include/bsp.h
index 13a189f5d2..2a419d77a1 100644
--- a/c/src/lib/libbsp/m68k/mcf5225x/include/bsp.h
+++ b/c/src/lib/libbsp/m68k/mcf5225x/include/bsp.h
@@ -12,6 +12,7 @@ extern "C" {
#endif
#include <bspopts.h>
+#include <bsp/default-initial-extension.h>
#include <rtems.h>
#include <rtems/iosupp.h>
#include <rtems/console.h>
diff --git a/c/src/lib/libbsp/m68k/mcf5225x/startup/bspclean.c b/c/src/lib/libbsp/m68k/mcf5225x/startup/bspclean.c
index fb538904df..e8c70c326f 100644
--- a/c/src/lib/libbsp/m68k/mcf5225x/startup/bspclean.c
+++ b/c/src/lib/libbsp/m68k/mcf5225x/startup/bspclean.c
@@ -19,13 +19,18 @@
#include <bsp/bootcard.h>
#include <rtems/bspIo.h>
+void bsp_fatal_extension(
+ rtems_fatal_source source,
+ bool is_internal,
+ rtems_fatal_code error
+)
+{
+ printk("\nRTEMS exited!\n");
+}
+
void __attribute__((weak)) bsp_cleanup(
uint32_t status
)
{
- printk("\nRTEMS exited!\n");
- for (;;) {
- __asm__ volatile (" nop ");
- __asm__ volatile (" nop ");
- }
+ rtems_fatal( RTEMS_FATAL_SOURCE_EXIT, status );
}
diff --git a/c/src/lib/libbsp/m68k/mcf5235/include/bsp.h b/c/src/lib/libbsp/m68k/mcf5235/include/bsp.h
index b822b8d59a..66d0c709bf 100644
--- a/c/src/lib/libbsp/m68k/mcf5235/include/bsp.h
+++ b/c/src/lib/libbsp/m68k/mcf5235/include/bsp.h
@@ -10,6 +10,7 @@ extern "C" {
#endif
#include <bspopts.h>
+#include <bsp/default-initial-extension.h>
#include <rtems.h>
#include <rtems/iosupp.h>
#include <rtems/console.h>
diff --git a/c/src/lib/libbsp/m68k/mcf5329/include/bsp.h b/c/src/lib/libbsp/m68k/mcf5329/include/bsp.h
index 7a7db3b575..719c5f91f7 100644
--- a/c/src/lib/libbsp/m68k/mcf5329/include/bsp.h
+++ b/c/src/lib/libbsp/m68k/mcf5329/include/bsp.h
@@ -10,6 +10,7 @@ extern "C" {
#endif
#include <bspopts.h>
+#include <bsp/default-initial-extension.h>
#include <rtems.h>
#include <rtems/iosupp.h>
#include <rtems/console.h>
diff --git a/c/src/lib/libbsp/m68k/mrm332/include/bsp.h b/c/src/lib/libbsp/m68k/mrm332/include/bsp.h
index c792c3695e..ab5bf6865c 100644
--- a/c/src/lib/libbsp/m68k/mrm332/include/bsp.h
+++ b/c/src/lib/libbsp/m68k/mrm332/include/bsp.h
@@ -18,6 +18,7 @@ extern "C" {
#endif
#include <bspopts.h>
+#include <bsp/default-initial-extension.h>
#include <rtems.h>
#include <rtems/bspIo.h>
diff --git a/c/src/lib/libbsp/m68k/mvme136/include/bsp.h b/c/src/lib/libbsp/m68k/mvme136/include/bsp.h
index 4b10ecefd7..56c3216197 100644
--- a/c/src/lib/libbsp/m68k/mvme136/include/bsp.h
+++ b/c/src/lib/libbsp/m68k/mvme136/include/bsp.h
@@ -18,6 +18,7 @@ extern "C" {
#endif
#include <bspopts.h>
+#include <bsp/default-initial-extension.h>
#include <rtems.h>
#include <rtems/clockdrv.h>
diff --git a/c/src/lib/libbsp/m68k/mvme136/startup/bspclean.c b/c/src/lib/libbsp/m68k/mvme136/startup/bspclean.c
index 45966ffebc..50feb5a52c 100644
--- a/c/src/lib/libbsp/m68k/mvme136/startup/bspclean.c
+++ b/c/src/lib/libbsp/m68k/mvme136/startup/bspclean.c
@@ -30,8 +30,10 @@ void bsp_return_to_monitor_trap(void)
#define TIMER 0xfffb0000
-void bsp_cleanup(
- uint32_t status
+void bsp_fatal_extension(
+ rtems_fatal_source source,
+ bool is_internal,
+ rtems_fatal_code error
)
{
Z8x36_WRITE( TIMER, MASTER_INTR, 0x62 ); /* redo timer */
@@ -42,3 +44,10 @@ void bsp_cleanup(
M68Kvec[ 45 ] = bsp_return_to_monitor_trap; /* install handler */
__asm__ volatile( "trap #13" ); /* insures SUPV mode */
}
+
+void bsp_cleanup(
+ uint32_t status
+)
+{
+ rtems_fatal( RTEMS_FATAL_SOURCE_EXIT, status );
+}
diff --git a/c/src/lib/libbsp/m68k/mvme147/include/bsp.h b/c/src/lib/libbsp/m68k/mvme147/include/bsp.h
index 51c8d5907f..5a074eed76 100644
--- a/c/src/lib/libbsp/m68k/mvme147/include/bsp.h
+++ b/c/src/lib/libbsp/m68k/mvme147/include/bsp.h
@@ -22,6 +22,7 @@ extern "C" {
#endif
#include <bspopts.h>
+#include <bsp/default-initial-extension.h>
#include <rtems.h>
#include <rtems/clockdrv.h>
diff --git a/c/src/lib/libbsp/m68k/mvme147/startup/bspclean.c b/c/src/lib/libbsp/m68k/mvme147/startup/bspclean.c
index 7f29f4e87d..405d9262fd 100644
--- a/c/src/lib/libbsp/m68k/mvme147/startup/bspclean.c
+++ b/c/src/lib/libbsp/m68k/mvme147/startup/bspclean.c
@@ -31,8 +31,10 @@ void bsp_return_to_monitor_trap(void)
__asm__ volatile ( "jmp %0@" : "=a" (start_addr) : "0" (start_addr) );
}
-void bsp_cleanup(
- uint32_t status
+void bsp_fatal_extension(
+ rtems_fatal_source source,
+ bool is_internal,
+ rtems_fatal_code error
)
{
pcc->timer1_int_control = 0; /* Disable Timer 1 */
@@ -41,3 +43,10 @@ void bsp_cleanup(
M68Kvec[ 45 ] = bsp_return_to_monitor_trap; /* install handler */
__asm__ volatile( "trap #13" ); /* ensures SUPV mode */
}
+
+void bsp_cleanup(
+ uint32_t status
+)
+{
+ rtems_fatal( RTEMS_FATAL_SOURCE_EXIT, status );
+}
diff --git a/c/src/lib/libbsp/m68k/mvme147s/include/bsp.h b/c/src/lib/libbsp/m68k/mvme147s/include/bsp.h
index 1627457ddc..9cdaaad6f0 100644
--- a/c/src/lib/libbsp/m68k/mvme147s/include/bsp.h
+++ b/c/src/lib/libbsp/m68k/mvme147s/include/bsp.h
@@ -22,6 +22,7 @@ extern "C" {
#endif
#include <bspopts.h>
+#include <bsp/default-initial-extension.h>
#include <rtems.h>
#include <rtems/clockdrv.h>
diff --git a/c/src/lib/libbsp/m68k/mvme162/include/bsp.h b/c/src/lib/libbsp/m68k/mvme162/include/bsp.h
index ccbac9ecae..d74e60f9c9 100644
--- a/c/src/lib/libbsp/m68k/mvme162/include/bsp.h
+++ b/c/src/lib/libbsp/m68k/mvme162/include/bsp.h
@@ -25,6 +25,7 @@ extern "C" {
#endif
#include <bspopts.h>
+#include <bsp/default-initial-extension.h>
#include <rtems.h>
#include <rtems/clockdrv.h>
diff --git a/c/src/lib/libbsp/m68k/mvme162/startup/bspclean.c b/c/src/lib/libbsp/m68k/mvme162/startup/bspclean.c
index 7c2515075e..3b275d98cd 100644
--- a/c/src/lib/libbsp/m68k/mvme162/startup/bspclean.c
+++ b/c/src/lib/libbsp/m68k/mvme162/startup/bspclean.c
@@ -46,10 +46,19 @@ void bsp_return_to_monitor_trap(void)
#endif
}
-void bsp_cleanup(
- uint32_t status
+void bsp_fatal_extension(
+ rtems_fatal_source source,
+ bool is_internal,
+ rtems_fatal_code error
)
{
M68Kvec[ 45 ] = bsp_return_to_monitor_trap; /* install handler */
__asm__ volatile( "trap #13" ); /* insures SUPV mode */
}
+
+void bsp_cleanup(
+ uint32_t status
+)
+{
+ rtems_fatal( RTEMS_FATAL_SOURCE_EXIT, status );
+}
diff --git a/c/src/lib/libbsp/m68k/mvme167/include/bsp.h b/c/src/lib/libbsp/m68k/mvme167/include/bsp.h
index 9a3324a682..f2521e9118 100644
--- a/c/src/lib/libbsp/m68k/mvme167/include/bsp.h
+++ b/c/src/lib/libbsp/m68k/mvme167/include/bsp.h
@@ -24,6 +24,7 @@ extern "C" {
#endif
#include <bspopts.h>
+#include <bsp/default-initial-extension.h>
#include <rtems.h>
#include <rtems/clockdrv.h>
diff --git a/c/src/lib/libbsp/m68k/mvme167/startup/bspclean.c b/c/src/lib/libbsp/m68k/mvme167/startup/bspclean.c
index 487ad35442..68e127ff2c 100644
--- a/c/src/lib/libbsp/m68k/mvme167/startup/bspclean.c
+++ b/c/src/lib/libbsp/m68k/mvme167/startup/bspclean.c
@@ -49,6 +49,16 @@ static void bsp_return_to_monitor_trap( void )
__asm__ volatile( "jmp %0@" : "=a" (start_addr) : "0" (start_addr) );
}
+void bsp_fatal_extension(
+ rtems_fatal_source source,
+ bool is_internal,
+ rtems_fatal_code error
+)
+{
+ M68Kvec[ 45 ] = bsp_return_to_monitor_trap;
+ __asm__ volatile( "trap #13" );
+}
+
/*
* bsp_cleanup
*
@@ -76,6 +86,5 @@ void bsp_cleanup(
uint32_t status
)
{
- M68Kvec[ 45 ] = bsp_return_to_monitor_trap;
- __asm__ volatile( "trap #13" );
+ rtems_fatal( RTEMS_FATAL_SOURCE_EXIT, status );
}
diff --git a/c/src/lib/libbsp/m68k/ods68302/include/bsp.h b/c/src/lib/libbsp/m68k/ods68302/include/bsp.h
index 394c166d1c..f7c37e7444 100644
--- a/c/src/lib/libbsp/m68k/ods68302/include/bsp.h
+++ b/c/src/lib/libbsp/m68k/ods68302/include/bsp.h
@@ -18,6 +18,7 @@ extern "C" {
#endif
#include <bspopts.h>
+#include <bsp/default-initial-extension.h>
#define BSP_SMALL_MEMORY 1
#include <rtems.h>
diff --git a/c/src/lib/libbsp/m68k/sim68000/include/bsp.h b/c/src/lib/libbsp/m68k/sim68000/include/bsp.h
index aedbd4d52e..f4e45a6fcb 100644
--- a/c/src/lib/libbsp/m68k/sim68000/include/bsp.h
+++ b/c/src/lib/libbsp/m68k/sim68000/include/bsp.h
@@ -19,6 +19,7 @@ extern "C" {
#endif
#include <bspopts.h>
+#include <bsp/default-initial-extension.h>
#include <rtems.h>
#include <rtems/iosupp.h>
diff --git a/c/src/lib/libbsp/m68k/uC5282/include/bsp.h b/c/src/lib/libbsp/m68k/uC5282/include/bsp.h
index f66022a4ea..a7cced4651 100644
--- a/c/src/lib/libbsp/m68k/uC5282/include/bsp.h
+++ b/c/src/lib/libbsp/m68k/uC5282/include/bsp.h
@@ -19,6 +19,7 @@ extern "C" {
#endif
#include <bspopts.h>
+#include <bsp/default-initial-extension.h>
#include <rtems.h>
#include <rtems/iosupp.h>
diff --git a/c/src/lib/libbsp/m68k/uC5282/startup/bspclean.c b/c/src/lib/libbsp/m68k/uC5282/startup/bspclean.c
index f9de975880..dc17af738c 100644
--- a/c/src/lib/libbsp/m68k/uC5282/startup/bspclean.c
+++ b/c/src/lib/libbsp/m68k/uC5282/startup/bspclean.c
@@ -16,9 +16,18 @@
#include <bsp.h>
#include <bsp/bootcard.h>
+void bsp_fatal_extension(
+ rtems_fatal_source source,
+ bool is_internal,
+ rtems_fatal_code error
+)
+{
+ bsp_reset();
+}
+
void bsp_cleanup(
uint32_t status
)
{
- bsp_reset();
+ rtems_fatal( RTEMS_FATAL_SOURCE_EXIT, status );
}