bsps/powerpc: Add .nvram section

This commit is contained in:
Sebastian Huber
2012-11-23 14:16:11 +01:00
parent 95aebbe380
commit 113768f2cd
12 changed files with 35 additions and 6 deletions

View File

@@ -22,5 +22,6 @@ REGION_ALIAS ("REGION_WORK", RAM_EXT);
REGION_ALIAS ("REGION_STACK", RAM);
REGION_ALIAS ("REGION_NOCACHE", NOCACHE);
REGION_ALIAS ("REGION_NOCACHE_LOAD", NOCACHE);
REGION_ALIAS ("REGION_NVRAM", NOCACHE);
INCLUDE linkcmds.mpc55xx

View File

@@ -22,5 +22,6 @@ REGION_ALIAS ("REGION_WORK", RAM);
REGION_ALIAS ("REGION_STACK", RAM);
REGION_ALIAS ("REGION_NOCACHE", NOCACHE);
REGION_ALIAS ("REGION_NOCACHE_LOAD", NOCACHE);
REGION_ALIAS ("REGION_NVRAM", NOCACHE);
INCLUDE linkcmds.mpc55xx

View File

@@ -28,5 +28,6 @@ REGION_ALIAS ("REGION_WORK", RAM_1);
REGION_ALIAS ("REGION_STACK", RAM_1);
REGION_ALIAS ("REGION_NOCACHE", NOCACHE);
REGION_ALIAS ("REGION_NOCACHE_LOAD", NOCACHE);
REGION_ALIAS ("REGION_NVRAM", NOCACHE);
INCLUDE linkcmds.mpc55xx

View File

@@ -2,6 +2,7 @@ MEMORY {
RAM : ORIGIN = 0x40000000, LENGTH = 256K - 16k
RAM_EXT : ORIGIN = 0x20000000, LENGTH = 512K
NOCACHE : ORIGIN = 0x4003c000, LENGTH = 16k
NVRAM : ORIGIN = 0x3ffa0000, LENGTH = 128k
}
REGION_ALIAS ("REGION_START", STARTROM);
@@ -21,5 +22,6 @@ REGION_ALIAS ("REGION_WORK", RAM);
REGION_ALIAS ("REGION_STACK", RAM);
REGION_ALIAS ("REGION_NOCACHE", NOCACHE);
REGION_ALIAS ("REGION_NOCACHE_LOAD", ROM);
REGION_ALIAS ("REGION_NVRAM", NVRAM);
INCLUDE linkcmds.mpc55xx

View File

@@ -3,6 +3,7 @@ MEMORY {
RAM : ORIGIN = 0x40000000, LENGTH = 256K - 16k
RAM_EXT : ORIGIN = 0x20000000, LENGTH = 512K
NOCACHE : ORIGIN = 0x4003c000, LENGTH = 16k
EMPTY : ORIGIN = 0x0, LENGTH = 0
}
REGION_ALIAS ("REGION_START", ROM);
@@ -22,5 +23,6 @@ REGION_ALIAS ("REGION_WORK", RAM);
REGION_ALIAS ("REGION_STACK", RAM);
REGION_ALIAS ("REGION_NOCACHE", NOCACHE);
REGION_ALIAS ("REGION_NOCACHE_LOAD", ROM);
REGION_ALIAS ("REGION_NVRAM", EMPTY);
INCLUDE linkcmds.mpc55xx

View File

@@ -31,5 +31,6 @@ REGION_ALIAS ("REGION_WORK", RAM_EXT);
REGION_ALIAS ("REGION_STACK", RAM);
REGION_ALIAS ("REGION_NOCACHE", NOCACHE);
REGION_ALIAS ("REGION_NOCACHE_LOAD", NOCACHE);
REGION_ALIAS ("REGION_NVRAM", NOCACHE);
INCLUDE linkcmds.mpc55xx

View File

@@ -7,6 +7,7 @@
MEMORY {
LOW : ORIGIN = 0x4000, LENGTH = 16M - 16k
HIGH : ORIGIN = 0x1000000, LENGTH = 32M
EMPTY : ORIGIN = 0x0, LENGTH = 0
}
REGION_ALIAS ("REGION_START", LOW);
@@ -24,8 +25,9 @@ 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);
REGION_ALIAS ("REGION_NOCACHE_LOAD", HIGH);
REGION_ALIAS ("REGION_NOCACHE", EMPTY);
REGION_ALIAS ("REGION_NOCACHE_LOAD", EMPTY);
REGION_ALIAS ("REGION_NVRAM", EMPTY);
bsp_section_robarrier_align = 0x1000000;
bsp_section_rwbarrier_align = 0x1000000;

View File

@@ -6,6 +6,7 @@
MEMORY {
RAM : ORIGIN = 0x4000000, LENGTH = 64M
EMPTY : ORIGIN = 0x0, LENGTH = 0
}
REGION_ALIAS ("REGION_START", RAM);
@@ -23,8 +24,9 @@ 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);
REGION_ALIAS ("REGION_NOCACHE_LOAD", RAM);
REGION_ALIAS ("REGION_NOCACHE", EMPTY);
REGION_ALIAS ("REGION_NOCACHE_LOAD", EMPTY);
REGION_ALIAS ("REGION_NVRAM", EMPTY);
bsp_section_robarrier_align = 0x1000000;
bsp_section_rwbarrier_align = 0x1000000;

View File

@@ -7,6 +7,7 @@
MEMORY {
LOW : ORIGIN = 0x4000, LENGTH = 16M - 16k
HIGH : ORIGIN = 0x1000000, LENGTH = 32M
EMPTY : ORIGIN = 0x0, LENGTH = 0
}
REGION_ALIAS ("REGION_START", LOW);
@@ -24,8 +25,9 @@ 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);
REGION_ALIAS ("REGION_NOCACHE_LOAD", HIGH);
REGION_ALIAS ("REGION_NOCACHE", EMPTY);
REGION_ALIAS ("REGION_NOCACHE_LOAD", EMPTY);
REGION_ALIAS ("REGION_NVRAM", EMPTY);
bsp_section_robarrier_align = 0x1000000;
bsp_section_rwbarrier_align = 0x1000000;

View File

@@ -99,12 +99,18 @@ LINKER_SYMBOL(bsp_section_nocache_size)
LINKER_SYMBOL(bsp_section_nocache_load_begin)
LINKER_SYMBOL(bsp_section_nocache_load_end)
LINKER_SYMBOL(bsp_section_nvram_begin)
LINKER_SYMBOL(bsp_section_nvram_end)
LINKER_SYMBOL(bsp_section_nvram_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")))
#define BSP_NVRAM_SECTION __attribute__((section(".bsp_nvram")))
/** @} */
#ifdef __cplusplus

View File

@@ -340,6 +340,13 @@ SECTIONS {
bsp_section_nocache_load_begin = LOADADDR (.nocache);
bsp_section_nocache_load_end = bsp_section_nocache_load_begin + bsp_section_nocache_size;
.nvram (NOLOAD) : {
bsp_section_nvram_begin = .;
*(SORT(.bsp_nvram*))
bsp_section_nvram_end = .;
} > REGION_NVRAM
bsp_section_nvram_size = bsp_section_nvram_end - bsp_section_nvram_begin;
/* FIXME */
RamBase = ORIGIN (REGION_WORK);
RamSize = LENGTH (REGION_WORK);

View File

@@ -1,5 +1,6 @@
MEMORY {
RAM : ORIGIN = 0x0, LENGTH = 128M
EMPTY : ORIGIN = 0x0, LENGTH = 0
}
REGION_ALIAS ("REGION_START", RAM);
@@ -19,5 +20,6 @@ REGION_ALIAS ("REGION_WORK", RAM);
REGION_ALIAS ("REGION_STACK", RAM);
REGION_ALIAS ("REGION_NOCACHE", RAM);
REGION_ALIAS ("REGION_NOCACHE_LOAD", RAM);
REGION_ALIAS ("REGION_NVRAM", EMPTY);
INCLUDE linkcmds.base