summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/powerpc/gen83xx/startup/linkcmds.mpc83xx
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/powerpc/gen83xx/startup/linkcmds.mpc83xx')
-rw-r--r--c/src/lib/libbsp/powerpc/gen83xx/startup/linkcmds.mpc83xx45
1 files changed, 45 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/powerpc/gen83xx/startup/linkcmds.mpc83xx b/c/src/lib/libbsp/powerpc/gen83xx/startup/linkcmds.mpc83xx
new file mode 100644
index 0000000000..66430a8e61
--- /dev/null
+++ b/c/src/lib/libbsp/powerpc/gen83xx/startup/linkcmds.mpc83xx
@@ -0,0 +1,45 @@
+bsp_ram_start = ORIGIN (RESCONF);
+bsp_ram_end = ORIGIN (WORK) + LENGTH (WORK);
+bsp_ram_size = bsp_ram_end - bsp_ram_start;
+
+bsp_rom_start = ORIGIN (ROM);
+bsp_rom_size = LENGTH (ROM);
+bsp_rom_end = bsp_rom_start + bsp_rom_size;
+
+IMMRBAR = 0xe0000000;
+mpc83xx = IMMRBAR;
+
+MEMORY {
+ EMPTY : ORIGIN = 0x0, LENGTH = 0
+}
+
+SECTIONS {
+ .resconf : {
+ *(.resconf)
+ } > RESCONF AT > RESCONF
+
+ .vectors : {
+ *(.vectors)
+ } > VECTORS AT > VECTORS
+}
+
+REGION_ALIAS ("REGION_START", START);
+REGION_ALIAS ("REGION_FAST_TEXT", WORK);
+REGION_ALIAS ("REGION_FAST_TEXT_LOAD", WORK);
+REGION_ALIAS ("REGION_TEXT", WORK);
+REGION_ALIAS ("REGION_TEXT_LOAD", WORK);
+REGION_ALIAS ("REGION_RODATA", WORK);
+REGION_ALIAS ("REGION_RODATA_LOAD", WORK);
+REGION_ALIAS ("REGION_FAST_DATA", WORK);
+REGION_ALIAS ("REGION_FAST_DATA_LOAD", WORK);
+REGION_ALIAS ("REGION_DATA", WORK);
+REGION_ALIAS ("REGION_DATA_LOAD", WORK);
+REGION_ALIAS ("REGION_BSS", WORK);
+REGION_ALIAS ("REGION_RWEXTRA", WORK);
+REGION_ALIAS ("REGION_WORK", WORK);
+REGION_ALIAS ("REGION_STACK", WORK);
+REGION_ALIAS ("REGION_NOCACHE", EMPTY);
+REGION_ALIAS ("REGION_NOCACHE_LOAD", EMPTY);
+REGION_ALIAS ("REGION_NVRAM", EMPTY);
+
+INCLUDE linkcmds.base