diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-05-31 16:37:02 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-06-04 09:54:31 +0200 |
commit | 6273201b14fc0761df952e8ca76b367ef4f8b741 (patch) | |
tree | 7988c52c1e9382bfe7144131b255e6f91b68805a /c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-early.c | |
parent | bsp/qoriq: New BSP option (diff) | |
download | rtems-6273201b14fc0761df952e8ca76b367ef4f8b741.tar.bz2 |
bsps/powerpc: Add load section for .nocache
Diffstat (limited to 'c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-early.c')
-rw-r--r-- | c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-early.c | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-early.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-early.c index 62cf8f58d7..daffc22ac1 100644 --- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-early.c +++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-early.c @@ -7,7 +7,7 @@ */ /* - * Copyright (c) 2008-2011 embedded brains GmbH. All rights reserved. + * Copyright (c) 2008-2012 embedded brains GmbH. All rights reserved. * * embedded brains GmbH * Obere Lagerstr. 30 @@ -23,6 +23,14 @@ #include <bsp.h> #include <bsp/start.h> #include <bsp/mpc55xx-config.h> +#include <bsp/linker-symbols.h> + +/* This function is defined in start.S */ +BSP_START_TEXT_SECTION void mpc55xx_start_load_section( + void *dst, + const void *src, + size_t n +); static BSP_START_TEXT_SECTION void mpc55xx_start_mmu(void) { @@ -53,6 +61,19 @@ static BSP_START_TEXT_SECTION void mpc55xx_start_internal_ram(void) #endif } +static BSP_START_TEXT_SECTION void mpc55xx_start_load_nocache_section(void) +{ + mpc55xx_start_load_section( + bsp_section_nocache_begin, + bsp_section_nocache_load_begin, + (size_t) bsp_section_nocache_size + ); + rtems_cache_flush_multiple_data_lines( + bsp_section_nocache_begin, + (size_t) bsp_section_nocache_size + ); +} + static BSP_START_TEXT_SECTION void mpc55xx_start_mode_change(void) { #ifdef MPC55XX_HAS_MODE_CONTROL @@ -167,6 +188,7 @@ BSP_START_TEXT_SECTION void mpc55xx_start_early(void) mpc55xx_start_cache(); #endif mpc55xx_start_internal_ram(); + mpc55xx_start_load_nocache_section(); mpc55xx_start_mmu(); mpc55xx_start_mode_change(); mpc55xx_start_siu(); |