summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/m68k/genmcf548x/startup
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/m68k/genmcf548x/startup')
-rw-r--r--c/src/lib/libbsp/m68k/genmcf548x/startup/bspstart.c10
-rw-r--r--c/src/lib/libbsp/m68k/genmcf548x/startup/init548x.c4
2 files changed, 9 insertions, 5 deletions
diff --git a/c/src/lib/libbsp/m68k/genmcf548x/startup/bspstart.c b/c/src/lib/libbsp/m68k/genmcf548x/startup/bspstart.c
index 9bd57c9abb..67774a2ad7 100644
--- a/c/src/lib/libbsp/m68k/genmcf548x/startup/bspstart.c
+++ b/c/src/lib/libbsp/m68k/genmcf548x/startup/bspstart.c
@@ -274,11 +274,11 @@ void bsp_start( void )
_CPU_cacr_shadow = BSP_CACR_INIT;
/* Switch on FPU in CACR shadow register if necessary */
- if (
- Configuration_RTEMS_API.User_initialization_tasks_table != NULL &&
- (Configuration_RTEMS_API.User_initialization_tasks_table->attribute_set
- & RTEMS_FLOATING_POINT) != 0
- ) {
+ if ((Configuration_POSIX_API.number_of_initialization_threads > 0) ||
+ ((Configuration_RTEMS_API.number_of_initialization_tasks > 0) &&
+ (Configuration_RTEMS_API.User_initialization_tasks_table
+ ->attribute_set & RTEMS_FLOATING_POINT) != 0)
+ ) {
_CPU_cacr_shadow &= ~MCF548X_CACR_DF;
}
diff --git a/c/src/lib/libbsp/m68k/genmcf548x/startup/init548x.c b/c/src/lib/libbsp/m68k/genmcf548x/startup/init548x.c
index 21923deef9..7f2646d7d3 100644
--- a/c/src/lib/libbsp/m68k/genmcf548x/startup/init548x.c
+++ b/c/src/lib/libbsp/m68k/genmcf548x/startup/init548x.c
@@ -321,4 +321,8 @@ gpio_init(void)
);
#endif
+ /*
+ * make sure the "edge port" has all interrupts disabled
+ */
+ MCF548X_EPORT_EPIER = 0;
}