diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2010-12-29 10:54:57 +0000 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2010-12-29 10:54:57 +0000 |
commit | 617517656222c59a8e3c28ec9564c02891f522f2 (patch) | |
tree | 08ad030aed496bc6a821bf483dda1a32727adaa7 /c | |
parent | 2010-12-29 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff) | |
download | rtems-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')
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 |