diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-04-24 13:34:03 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-04-24 14:35:16 +0200 |
commit | d101853478993e435d4da854071863ad656a123c (patch) | |
tree | 00d2a199bb3a4cbcf46b88d81b72574c16beab66 /c/src/lib/libbsp/powerpc/mpc55xxevb/startup | |
parent | bsp/mpc55xxevb: Change early MMU settings (diff) | |
download | rtems-d101853478993e435d4da854071863ad656a123c.tar.bz2 |
bsps/powerpc: Add no cache section
Diffstat (limited to 'c/src/lib/libbsp/powerpc/mpc55xxevb/startup')
7 files changed, 55 insertions, 87 deletions
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.gwlcfm b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.gwlcfm index 2bdf5041d2..4dc5613ec3 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 a8d94784e9..f148ca66ec 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 0000000000..1bfe8444ae --- /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 aa4e1db16b..0126bdc93d 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 4b6112e2b3..1e7337cf4e 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 503f52a887..72d3762da3 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 dd79366455..4849167b41 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 |