summaryrefslogtreecommitdiffstats
path: root/c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2010-12-29 10:54:57 +0000
committerSebastian Huber <sebastian.huber@embedded-brains.de>2010-12-29 10:54:57 +0000
commit617517656222c59a8e3c28ec9564c02891f522f2 (patch)
tree08ad030aed496bc6a821bf483dda1a32727adaa7 /c
parent2010-12-29 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff)
downloadrtems-617517656222c59a8e3c28ec9564c02891f522f2.tar.bz2
2010-12-29 Sebastian Huber <sebastian.huber@embedded-brains.de>
* Makefile.am, preinstall.am, startup/start.S: Use standard zero function. * startup/linkcmds.base: Reserve enough space for the exception minimum prologues. Changed start section name. * startup/bspstart.c: Removed superfluous cache initialization. * configure.ac: Fixed option default values.
Diffstat (limited to 'c')
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/ChangeLog6
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am4
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/configure.ac8
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/preinstall.am4
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/bspstart.c10
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.base5
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start.S24
7 files changed, 22 insertions, 39 deletions
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/ChangeLog b/c/src/lib/libbsp/powerpc/mpc55xxevb/ChangeLog
index 076abcdca7..a8eba50a1a 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/ChangeLog
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/ChangeLog
@@ -1,7 +1,11 @@
2010-12-29 Sebastian Huber <sebastian.huber@embedded-brains.de>
+ * Makefile.am, preinstall.am, startup/start.S: Use standard zero
+ function.
* startup/linkcmds.base: Reserve enough space for the exception
- minimum prologues.
+ minimum prologues. Changed start section name.
+ * startup/bspstart.c: Removed superfluous cache initialization.
+ * configure.ac: Fixed option default values.
2010-12-22 Sebastian Huber <sebastian.huber@embedded-brains.de>
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am b/c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am
index 76b0d100ac..6b6bf2e09f 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am
@@ -42,13 +42,15 @@ include_bsp_HEADERS = include/mpc55xxevb.h \
../../shared/include/irq-generic.h \
../../shared/include/irq-info.h \
../../shared/include/utility.h \
+ ../shared/include/start.h \
../shared/include/tictac.h
# startup
libbsp_a_SOURCES += ../../shared/bsplibc.c ../../shared/bsppost.c \
../../shared/bootcard.c ../shared/src/tictac.c ../../shared/bspclean.c \
../shared/startup/bspidle.c startup/bspstart.c startup/bspgetworkarea.c \
- ../../shared/bsppretaskinghook.c
+ ../../shared/bsppretaskinghook.c \
+ ../shared/src/bsp-start-zero.S
# clock
libbsp_a_SOURCES += clock/clock-config.c
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/configure.ac b/c/src/lib/libbsp/powerpc/mpc55xxevb/configure.ac
index 2796e45b8d..b8da56bbe5 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/configure.ac
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/configure.ac
@@ -23,21 +23,21 @@ RTEMS_PROG_CCAS
RTEMS_CHECK_NETWORKING
AM_CONDITIONAL(HAS_NETWORKING,test "$HAS_NETWORKING" = "yes")
-RTEMS_BSPOPTS_SET([DATA_CACHE_ENABLE],[gwlcfm],[0])
+RTEMS_BSPOPTS_SET([DATA_CACHE_ENABLE],[gwlcfm],[])
RTEMS_BSPOPTS_SET([DATA_CACHE_ENABLE],[mpc5566evb],[1])
RTEMS_BSPOPTS_SET([DATA_CACHE_ENABLE],[*],[1])
RTEMS_BSPOPTS_HELP([DATA_CACHE_ENABLE],
[If defined, the data cache will be enabled after address translation
is turned on.])
-RTEMS_BSPOPTS_SET([INSTRUCTION_CACHE_ENABLE],[gwlcfm],[0])
+RTEMS_BSPOPTS_SET([INSTRUCTION_CACHE_ENABLE],[gwlcfm],[])
RTEMS_BSPOPTS_SET([INSTRUCTION_CACHE_ENABLE],[mpc5566evb],[1])
RTEMS_BSPOPTS_SET([INSTRUCTION_CACHE_ENABLE],[*],[1])
RTEMS_BSPOPTS_HELP([INSTRUCTION_CACHE_ENABLE],
[If defined, the instruction cache will be enabled after address translation
is turned on.])
-RTEMS_BSPOPTS_SET([UARTS_USE_TERMIOS],[*],[0])
+RTEMS_BSPOPTS_SET([UARTS_USE_TERMIOS],[*],[])
RTEMS_BSPOPTS_HELP([UARTS_USE_TERMIOS],
[Define to 1 if you want termios support for every port.
Termios support is independent of the choice of UART I/O mode.])
@@ -49,7 +49,7 @@ RTEMS_BSPOPTS_HELP([CONSOLE_MINOR],
device will be registered as /dev/console.])
RTEMS_BSPOPTS_SET([UARTS_IO_MODE],[gwlcfm],[1])
-RTEMS_BSPOPTS_SET([UARTS_IO_MODE],[*] ,[0])
+RTEMS_BSPOPTS_SET([UARTS_IO_MODE],[*] ,[])
RTEMS_BSPOPTS_HELP([UARTS_IO_MODE],
[Define to 1 if you want interrupt-driven I/O for the SCI ports.])
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/preinstall.am b/c/src/lib/libbsp/powerpc/mpc55xxevb/preinstall.am
index 5d57d6e9cf..a0c45b245c 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/preinstall.am
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/preinstall.am
@@ -109,6 +109,10 @@ $(PROJECT_INCLUDE)/bsp/utility.h: ../../shared/include/utility.h $(PROJECT_INCLU
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/utility.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/utility.h
+$(PROJECT_INCLUDE)/bsp/start.h: ../shared/include/start.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/start.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/start.h
+
$(PROJECT_INCLUDE)/bsp/tictac.h: ../shared/include/tictac.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/tictac.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/tictac.h
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/bspstart.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/bspstart.c
index 417a3da969..fc2cae6211 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/bspstart.c
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/bspstart.c
@@ -646,14 +646,4 @@ void bsp_start(void)
/* Initialize eMIOS */
mpc55xx_emios_initialize( MPC55XX_EMIOS_PRESCALER);
-
- /*
- * Enable instruction and data caches. Do not force writethrough mode.
- */
-#if INSTRUCTION_CACHE_ENABLE
- rtems_cache_enable_instruction();
-#endif
-#if DATA_CACHE_ENABLE
- rtems_cache_enable_data();
-#endif
}
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.base b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.base
index cb5b9c3622..87f4313323 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.base
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.base
@@ -19,7 +19,8 @@ SECTIONS
/*
* BSP: System startup entry
*/
- KEEP (*(.entry))
+ KEEP (*(.bsp_start_text))
+ KEEP (*(.bsp_start_data))
/*
* BSP: Moved into .text from .init
@@ -98,7 +99,7 @@ SECTIONS
/*
* BSP: Reserve space for exception handler
*/
- . = . + 0x230;
+ . = . + 0x130;
. = ALIGN (bsp_section_align);
} > REGION_VECTORS
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start.S b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start.S
index 9e6bf84093..ef920e61c6 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start.S
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start.S
@@ -28,7 +28,7 @@
#include <mpc55xx/reg-defs.h>
#include <bspopts.h>
-.section ".entry", "ax"
+.section ".bsp_start_text", "ax"
PUBLIC_VAR (start)
.globl fmpll_syncr_vals
bam_rchw:
@@ -127,28 +127,10 @@ start:
/* Addresses */
LA r3, bsp_ram_start
- LA r4, bsp_ram_end
-
- /* Assert: Proper alignment of destination start */
- andi. r6, r3, 0x3f
- bne twiddle
-
- /* Assert: Proper alignment of destination end */
- andi. r6, r4, 0x3f
- bne twiddle
-
- /* Data size = destination end - destination start */
- subf r4, r3, r4
-
- /* Save time */
- mftb r24
+ LA r4, bsp_ram_size
/* Zero */
- bl SYM (mpc55xx_zero_32)
-
- /* Save time and get time delta */
- mftb r25
- subf r24, r24, r25
+ bl SYM (bsp_start_zero)
/*
* Copy data