[rtems commit] bsps/powerpc: Add no cache section

Sebastian Huber sebh at rtems.org
Tue Apr 24 12:32:28 UTC 2012


Module:    rtems
Branch:    master
Commit:    d101853478993e435d4da854071863ad656a123c
Changeset: http://git.rtems.org/rtems/commit/?id=d101853478993e435d4da854071863ad656a123c

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Tue Apr 24 13:34:03 2012 +0200

bsps/powerpc: Add no cache section

---

 c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am    |    1 +
 c/src/lib/libbsp/powerpc/mpc55xxevb/preinstall.am  |    4 +++
 .../powerpc/mpc55xxevb/startup/linkcmds.gwlcfm     |   27 +++++-------------
 .../powerpc/mpc55xxevb/startup/linkcmds.mpc5566evb |   27 +++++-------------
 .../powerpc/mpc55xxevb/startup/linkcmds.mpc55xx    |   13 +++++++++
 .../mpc55xxevb/startup/linkcmds.mpc5674fevb        |   27 +++++-------------
 .../mpc55xxevb/startup/linkcmds.phycore_mpc5554    |   29 ++++++-------------
 .../powerpc/mpc55xxevb/startup/linkcmds.xkt564levb |   13 +++------
 .../powerpc/mpc55xxevb/startup/start-config-mmu.c  |    6 +++-
 .../powerpc/qoriq/startup/linkcmds.qoriq_core_0    |    1 +
 .../powerpc/qoriq/startup/linkcmds.qoriq_core_1    |    1 +
 .../powerpc/qoriq/startup/linkcmds.qoriq_p1020rdb  |    1 +
 .../libbsp/powerpc/shared/include/linker-symbols.h |    8 +++++-
 .../libbsp/powerpc/shared/startup/linkcmds.base    |    9 +++++-
 14 files changed, 78 insertions(+), 89 deletions(-)

diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am b/c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am
index 6c751fa..7adf15e 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am
@@ -25,6 +25,7 @@ project_lib_DATA += rtems_crti.$(OBJEXT)
 # Link commands
 project_lib_DATA += startup/linkcmds
 dist_project_lib_DATA += ../shared/startup/linkcmds.base	
+dist_project_lib_DATA += startup/linkcmds.mpc55xx
 dist_project_lib_DATA += startup/linkcmds.gwlcfm
 dist_project_lib_DATA += startup/linkcmds.mpc5566evb
 dist_project_lib_DATA += startup/linkcmds.mpc5566evb_spe
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/preinstall.am b/c/src/lib/libbsp/powerpc/mpc55xxevb/preinstall.am
index 8992081..ab44e5b 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/preinstall.am
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/preinstall.am
@@ -57,6 +57,10 @@ $(PROJECT_LIB)/linkcmds.base: ../shared/startup/linkcmds.base $(PROJECT_LIB)/$(d
 	$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.base
 PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.base
 
+$(PROJECT_LIB)/linkcmds.mpc55xx: startup/linkcmds.mpc55xx $(PROJECT_LIB)/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.mpc55xx
+PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.mpc55xx
+
 $(PROJECT_LIB)/linkcmds.gwlcfm: startup/linkcmds.gwlcfm $(PROJECT_LIB)/$(dirstamp)
 	$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.gwlcfm
 PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.gwlcfm
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.gwlcfm b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.gwlcfm
index 2bdf504..4dc5613 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.gwlcfm
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.gwlcfm
@@ -1,23 +1,11 @@
-MEMORY
-{
-	ROM (RX)  : ORIGIN = 0x0, LENGTH = 1536K
-	RAM (AIW) : ORIGIN = 0x40000000, LENGTH = 80K
-	RAM_EXT   : ORIGIN = 0x20000000, LENGTH = 512K
-	NIRVANA   : ORIGIN = 0x0, LENGTH = 0
+MEMORY {
+	ROM : ORIGIN = 0x0, LENGTH = 1536K
+	RAM : ORIGIN = 0x40000000, LENGTH = 80K
+	RAM_EXT : ORIGIN = 0x20000000, LENGTH = 512K
+	NOCACHE : ORIGIN = 0x0, LENGTH = 0
+	NIRVANA : ORIGIN = 0x0, LENGTH = 0
 }
 
-bsp_ram_start = ORIGIN (RAM);
-bsp_ram_end = ORIGIN (RAM) + LENGTH (RAM);
-bsp_ram_size = LENGTH (RAM);
-
-bsp_rom_start = ORIGIN (ROM);
-bsp_rom_end = ORIGIN (ROM) + LENGTH (ROM);
-bsp_rom_size = LENGTH (ROM);
-
-bsp_external_ram_start = ORIGIN (RAM_EXT);
-bsp_external_ram_end = ORIGIN (RAM_EXT) + LENGTH (RAM_EXT);
-bsp_external_ram_size = LENGTH (RAM_EXT);
-
 REGION_ALIAS ("REGION_START", ROM);
 REGION_ALIAS ("REGION_FAST_TEXT", RAM);
 REGION_ALIAS ("REGION_FAST_TEXT_LOAD", ROM);
@@ -33,5 +21,6 @@ REGION_ALIAS ("REGION_BSS", RAM_EXT);
 REGION_ALIAS ("REGION_RWEXTRA", RAM_EXT);
 REGION_ALIAS ("REGION_WORK", RAM_EXT);
 REGION_ALIAS ("REGION_STACK", RAM_EXT);
+REGION_ALIAS ("REGION_NOCACHE", NOCACHE);
 
-INCLUDE linkcmds.base
+INCLUDE linkcmds.mpc55xx
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5566evb b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5566evb
index a8d9478..f148ca6 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5566evb
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5566evb
@@ -1,23 +1,11 @@
-MEMORY
-{
-	ROM (RX)  : ORIGIN = 0x0, LENGTH = 3M
-	RAM (AIW) : ORIGIN = 0x40000000, LENGTH = 128K
-	RAM_EXT   : ORIGIN = 0x20000000, LENGTH = 512K
-	NIRVANA   : ORIGIN = 0x0, LENGTH = 0
+MEMORY {
+	ROM : ORIGIN = 0x0, LENGTH = 3M
+	RAM : ORIGIN = 0x40000000, LENGTH = 128K
+	RAM_EXT : ORIGIN = 0x20000000, LENGTH = 512K
+	NOCACHE : ORIGIN = 0x0, LENGTH = 0
+	NIRVANA : ORIGIN = 0x0, LENGTH = 0
 }
 
-bsp_ram_start = ORIGIN (RAM);
-bsp_ram_end = ORIGIN (RAM) + LENGTH (RAM);
-bsp_ram_size = LENGTH (RAM);
-
-bsp_rom_start = ORIGIN (ROM);
-bsp_rom_end = ORIGIN (ROM) + LENGTH (ROM);
-bsp_rom_size = LENGTH (ROM);
-
-bsp_external_ram_start = ORIGIN (RAM_EXT);
-bsp_external_ram_end = ORIGIN (RAM_EXT) + LENGTH (RAM_EXT);
-bsp_external_ram_size = LENGTH (RAM_EXT);
-
 REGION_ALIAS ("REGION_START", ROM);
 REGION_ALIAS ("REGION_FAST_TEXT", RAM);
 REGION_ALIAS ("REGION_FAST_TEXT_LOAD", ROM);
@@ -33,5 +21,6 @@ REGION_ALIAS ("REGION_BSS", RAM_EXT);
 REGION_ALIAS ("REGION_RWEXTRA", RAM_EXT);
 REGION_ALIAS ("REGION_WORK", RAM_EXT);
 REGION_ALIAS ("REGION_STACK", RAM_EXT);
+REGION_ALIAS ("REGION_NOCACHE", NOCACHE);
 
-INCLUDE linkcmds.base
+INCLUDE linkcmds.mpc55xx
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc55xx b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc55xx
new file mode 100644
index 0000000..1bfe844
--- /dev/null
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc55xx
@@ -0,0 +1,13 @@
+bsp_ram_start = ORIGIN (RAM);
+bsp_ram_size = LENGTH (RAM) + LENGTH (NOCACHE);
+bsp_ram_end = bsp_ram_start + bsp_ram_size;
+
+bsp_rom_start = ORIGIN (ROM);
+bsp_rom_size = LENGTH (ROM);
+bsp_rom_end = bsp_rom_start + bsp_rom_size;
+
+bsp_external_ram_start = ORIGIN (RAM_EXT);
+bsp_external_ram_size = LENGTH (RAM_EXT);
+bsp_external_ram_end = bsp_external_ram_start + bsp_external_ram_size;
+
+INCLUDE linkcmds.base
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674fevb b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674fevb
index aa4e1db..0126bdc 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674fevb
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674fevb
@@ -1,23 +1,11 @@
-MEMORY
-{
-	ROM (RX)  : ORIGIN = 0x0, LENGTH = 4M
-	RAM (AIW) : ORIGIN = 0x40000000, LENGTH = 256K
-	RAM_EXT   : ORIGIN = 0x20000000, LENGTH = 512K
-	NIRVANA   : ORIGIN = 0x0, LENGTH = 0
+MEMORY {
+	ROM : ORIGIN = 0x0, LENGTH = 4M
+	RAM : ORIGIN = 0x40000000, LENGTH = 256K - 16k
+	RAM_EXT : ORIGIN = 0x20000000, LENGTH = 512K
+	NOCACHE : ORIGIN = 0x4003c000, LENGTH = 16k
+	NIRVANA : ORIGIN = 0x0, LENGTH = 0
 }
 
-bsp_ram_start = ORIGIN (RAM);
-bsp_ram_end = ORIGIN (RAM) + LENGTH (RAM);
-bsp_ram_size = LENGTH (RAM);
-
-bsp_rom_start = ORIGIN (ROM);
-bsp_rom_end = ORIGIN (ROM) + LENGTH (ROM);
-bsp_rom_size = LENGTH (ROM);
-
-bsp_external_ram_start = ORIGIN (RAM_EXT);
-bsp_external_ram_end = ORIGIN (RAM_EXT) + LENGTH (RAM_EXT);
-bsp_external_ram_size = LENGTH (RAM_EXT);
-
 REGION_ALIAS ("REGION_START", ROM);
 REGION_ALIAS ("REGION_FAST_TEXT", RAM);
 REGION_ALIAS ("REGION_FAST_TEXT_LOAD", ROM);
@@ -33,5 +21,6 @@ REGION_ALIAS ("REGION_BSS", RAM);
 REGION_ALIAS ("REGION_RWEXTRA", RAM_EXT);
 REGION_ALIAS ("REGION_WORK", RAM_EXT);
 REGION_ALIAS ("REGION_STACK", RAM_EXT);
+REGION_ALIAS ("REGION_NOCACHE", NOCACHE);
 
-INCLUDE linkcmds.base
+INCLUDE linkcmds.mpc55xx
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.phycore_mpc5554 b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.phycore_mpc5554
index 4b6112e..1e7337c 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.phycore_mpc5554
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.phycore_mpc5554
@@ -2,27 +2,15 @@
  * Debug RAM is the top 4MB of external RAM and is swapped with the
  * FLASH for development.
  */
-MEMORY
-{
-	ROM (RX)       : ORIGIN = 0x00000000, LENGTH = 2M
-	RAM (AIW)      : ORIGIN = 0x40000000, LENGTH = 64K
-	RAM_EXT (AIW)  : ORIGIN = 0x21000000, LENGTH = 4M
-	DEBUG_RAM (AIW): ORIGIN = 0x21400000, LENGTH = 4M
-	NIRVANA        : ORIGIN = 0x00000000, LENGTH = 0
+MEMORY {
+	ROM : ORIGIN = 0x00000000, LENGTH = 2M
+	RAM : ORIGIN = 0x40000000, LENGTH = 64K
+	RAM_EXT : ORIGIN = 0x21000000, LENGTH = 4M
+	DEBUG_RAM : ORIGIN = 0x21400000, LENGTH = 4M
+	NOCACHE : ORIGIN = 0x0, LENGTH = 0
+	NIRVANA : ORIGIN = 0x00000000, LENGTH = 0
 }
 
-bsp_ram_start = ORIGIN (RAM);
-bsp_ram_end = ORIGIN (RAM) + LENGTH (RAM);
-bsp_ram_size = LENGTH (RAM);
-
-bsp_rom_start = ORIGIN (ROM);
-bsp_rom_end = ORIGIN (ROM) + LENGTH (ROM);
-bsp_rom_size = LENGTH (ROM);
-
-bsp_external_ram_start = ORIGIN (RAM_EXT);
-bsp_external_ram_end = ORIGIN (RAM_EXT) + LENGTH (RAM_EXT);
-bsp_external_ram_size = LENGTH (RAM_EXT);
-
 bsp_debug_ram_start = ORIGIN (DEBUG_RAM);
 bsp_debug_ram_end = ORIGIN (DEBUG_RAM) + LENGTH (DEBUG_RAM);
 bsp_debug_ram_size = LENGTH (DEBUG_RAM);
@@ -42,5 +30,6 @@ REGION_ALIAS ("REGION_BSS", RAM_EXT);
 REGION_ALIAS ("REGION_RWEXTRA", RAM_EXT);
 REGION_ALIAS ("REGION_WORK", RAM_EXT);
 REGION_ALIAS ("REGION_STACK", RAM_EXT);
+REGION_ALIAS ("REGION_NOCACHE", NOCACHE);
 
-INCLUDE linkcmds.base
+INCLUDE linkcmds.mpc55xx
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.xkt564levb b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.xkt564levb
index 503f52a..72d3762 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.xkt564levb
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.xkt564levb
@@ -2,21 +2,15 @@ MEMORY {
 	ROM : ORIGIN = 0x0, LENGTH = 1M
 	RAM_0 : ORIGIN = 0x40000000, LENGTH = 64K
 	RAM_1 : ORIGIN = 0x50000000, LENGTH = 64K
+	RAM_EXT : ORIGIN = 0x0, LENGTH = 0
+	NOCACHE : ORIGIN = 0x0, LENGTH = 0
 	NIRVANA : ORIGIN = 0x0, LENGTH = 0
 }
 
-bsp_ram_start = ORIGIN (RAM_0);
-bsp_ram_size = LENGTH (RAM_0);
-bsp_ram_end = bsp_ram_start + bsp_ram_size;
-
 bsp_ram_1_start = ORIGIN (RAM_1);
 bsp_ram_1_size = LENGTH (RAM_1);
 bsp_ram_1_end = bsp_ram_1_start + bsp_ram_1_size;
 
-bsp_rom_start = ORIGIN (ROM);
-bsp_rom_size = LENGTH (ROM);
-bsp_rom_end = bsp_rom_start + bsp_rom_size;
-
 REGION_ALIAS ("REGION_START", ROM);
 REGION_ALIAS ("REGION_FAST_TEXT", RAM_0);
 REGION_ALIAS ("REGION_FAST_TEXT_LOAD", ROM);
@@ -32,5 +26,6 @@ REGION_ALIAS ("REGION_BSS", RAM_0);
 REGION_ALIAS ("REGION_RWEXTRA", RAM_0);
 REGION_ALIAS ("REGION_WORK", RAM_1);
 REGION_ALIAS ("REGION_STACK", RAM_1);
+REGION_ALIAS ("REGION_NOCACHE", NOCACHE);
 
-INCLUDE linkcmds.base
+INCLUDE linkcmds.mpc55xx
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu.c
index dd79366..4849167 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu.c
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu.c
@@ -114,7 +114,11 @@ BSP_START_TEXT_SECTION const struct MMU_tag
   /* External SRAM 512k */
   MPC55XX_MMU_TAG_INITIALIZER(2, 0x20000000, MPC55XX_MMU_512K, 0, 1, 1, 0),
   /* Internal SRAM 256k */
-  MPC55XX_MMU_TAG_INITIALIZER(3, 0x40000000, MPC55XX_MMU_256K, 0, 1, 1, 0),
+  MPC55XX_MMU_TAG_INITIALIZER(3, 0x40000000, MPC55XX_MMU_128K, 0, 1, 1, 0),
+  MPC55XX_MMU_TAG_INITIALIZER(11, 0x40020000, MPC55XX_MMU_64K, 0, 1, 1, 0),
+  MPC55XX_MMU_TAG_INITIALIZER(12, 0x40030000, MPC55XX_MMU_32K, 0, 1, 1, 0),
+  MPC55XX_MMU_TAG_INITIALIZER(13, 0x40038000, MPC55XX_MMU_16K, 0, 1, 1, 0),
+  MPC55XX_MMU_TAG_INITIALIZER(14, 0x4003c000, MPC55XX_MMU_16K, 0, 1, 1, 1),
   /* External Ethernet controller */
   MPC55XX_MMU_TAG_INITIALIZER(15, 0x3fff8000, MPC55XX_MMU_64K, 0, 1, 1, 1)
 #elif MPC55XX_CHIP_TYPE / 10 == 564
diff --git a/c/src/lib/libbsp/powerpc/qoriq/startup/linkcmds.qoriq_core_0 b/c/src/lib/libbsp/powerpc/qoriq/startup/linkcmds.qoriq_core_0
index 4d2c130..7940cd4 100644
--- a/c/src/lib/libbsp/powerpc/qoriq/startup/linkcmds.qoriq_core_0
+++ b/c/src/lib/libbsp/powerpc/qoriq/startup/linkcmds.qoriq_core_0
@@ -25,6 +25,7 @@ REGION_ALIAS ("REGION_BSS", HIGH);
 REGION_ALIAS ("REGION_RWEXTRA", HIGH);
 REGION_ALIAS ("REGION_WORK", HIGH);
 REGION_ALIAS ("REGION_STACK", HIGH);
+REGION_ALIAS ("REGION_NOCACHE", HIGH);
 
 bsp_section_robarrier_align = 0x1000000;
 bsp_section_rwbarrier_align = 0x1000000;
diff --git a/c/src/lib/libbsp/powerpc/qoriq/startup/linkcmds.qoriq_core_1 b/c/src/lib/libbsp/powerpc/qoriq/startup/linkcmds.qoriq_core_1
index 4d38dc6..b9001a7 100644
--- a/c/src/lib/libbsp/powerpc/qoriq/startup/linkcmds.qoriq_core_1
+++ b/c/src/lib/libbsp/powerpc/qoriq/startup/linkcmds.qoriq_core_1
@@ -24,6 +24,7 @@ REGION_ALIAS ("REGION_BSS", RAM);
 REGION_ALIAS ("REGION_RWEXTRA", RAM);
 REGION_ALIAS ("REGION_WORK", RAM);
 REGION_ALIAS ("REGION_STACK", RAM);
+REGION_ALIAS ("REGION_NOCACHE", RAM);
 
 bsp_section_robarrier_align = 0x1000000;
 bsp_section_rwbarrier_align = 0x1000000;
diff --git a/c/src/lib/libbsp/powerpc/qoriq/startup/linkcmds.qoriq_p1020rdb b/c/src/lib/libbsp/powerpc/qoriq/startup/linkcmds.qoriq_p1020rdb
index 2ee0058..6e73fec 100644
--- a/c/src/lib/libbsp/powerpc/qoriq/startup/linkcmds.qoriq_p1020rdb
+++ b/c/src/lib/libbsp/powerpc/qoriq/startup/linkcmds.qoriq_p1020rdb
@@ -25,6 +25,7 @@ REGION_ALIAS ("REGION_BSS", HIGH);
 REGION_ALIAS ("REGION_RWEXTRA", HIGH);
 REGION_ALIAS ("REGION_WORK", HIGH);
 REGION_ALIAS ("REGION_STACK", HIGH);
+REGION_ALIAS ("REGION_NOCACHE", HIGH);
 
 bsp_section_robarrier_align = 0x1000000;
 bsp_section_rwbarrier_align = 0x1000000;
diff --git a/c/src/lib/libbsp/powerpc/shared/include/linker-symbols.h b/c/src/lib/libbsp/powerpc/shared/include/linker-symbols.h
index 67f0aef..c5b5155 100644
--- a/c/src/lib/libbsp/powerpc/shared/include/linker-symbols.h
+++ b/c/src/lib/libbsp/powerpc/shared/include/linker-symbols.h
@@ -7,7 +7,7 @@
  */
 
 /*
- * Copyright (c) 2010 embedded brains GmbH.  All rights reserved.
+ * Copyright (c) 2010-2012 embedded brains GmbH.  All rights reserved.
  *
  *  embedded brains GmbH
  *  Obere Lagerstr. 30
@@ -95,10 +95,16 @@ LINKER_SYMBOL(bsp_section_stack_begin)
 LINKER_SYMBOL(bsp_section_stack_end)
 LINKER_SYMBOL(bsp_section_stack_size)
 
+LINKER_SYMBOL(bsp_section_nocache_begin)
+LINKER_SYMBOL(bsp_section_nocache_end)
+LINKER_SYMBOL(bsp_section_nocache_size)
+
 #define BSP_FAST_TEXT_SECTION __attribute__((section(".bsp_fast_text")))
 
 #define BSP_FAST_DATA_SECTION __attribute__((section(".bsp_fast_data")))
 
+#define BSP_NOCACHE_SECTION __attribute__((section(".bsp_nocache")))
+
 /** @} */
 
 #ifdef __cplusplus
diff --git a/c/src/lib/libbsp/powerpc/shared/startup/linkcmds.base b/c/src/lib/libbsp/powerpc/shared/startup/linkcmds.base
index 25fc1dc..24cee14 100644
--- a/c/src/lib/libbsp/powerpc/shared/startup/linkcmds.base
+++ b/c/src/lib/libbsp/powerpc/shared/startup/linkcmds.base
@@ -7,7 +7,7 @@
  */
 
 /*
- * Copyright (c) 2011 embedded brains GmbH.  All rights reserved.
+ * Copyright (c) 2011-2012 embedded brains GmbH.  All rights reserved.
  *
  *  embedded brains GmbH
  *  Obere Lagerstr. 30
@@ -324,6 +324,13 @@ SECTIONS {
 	} > REGION_STACK AT > REGION_STACK
 	bsp_section_stack_size = bsp_section_stack_end - bsp_section_stack_begin;
 
+	.nocache : {
+		bsp_section_nocache_begin = .;
+		*(.bsp_nocache)
+		bsp_section_nocache_end = .;
+	} > REGION_NOCACHE AT > REGION_NOCACHE
+	bsp_section_nocache_size = bsp_section_nocache_end - bsp_section_nocache_begin;
+
 	/* FIXME */
 	RamBase = ORIGIN (REGION_WORK);
 	RamSize = LENGTH (REGION_WORK);




More information about the vc mailing list