summaryrefslogtreecommitdiffstats
path: root/bsps/powerpc/qemuppc/start/linkcmds
diff options
context:
space:
mode:
Diffstat (limited to 'bsps/powerpc/qemuppc/start/linkcmds')
-rw-r--r--bsps/powerpc/qemuppc/start/linkcmds38
1 files changed, 38 insertions, 0 deletions
diff --git a/bsps/powerpc/qemuppc/start/linkcmds b/bsps/powerpc/qemuppc/start/linkcmds
new file mode 100644
index 0000000000..3169ad2741
--- /dev/null
+++ b/bsps/powerpc/qemuppc/start/linkcmds
@@ -0,0 +1,38 @@
+EXTERN(__vectors)
+
+MEMORY
+ {
+ EMPTY : ORIGIN = 0, LENGTH = 0
+ RAM : ORIGIN = 0x2000, LENGTH = 4M - 0x2000
+ ROM : ORIGIN = 0xFFC00000, LENGTH = 4M
+ VECTORS : ORIGIN = 0xFFF00000, LENGTH = 0x20000
+ RESET : ORIGIN = 0xFFFFFFFC, LENGTH = 0x4
+ }
+
+REGION_ALIAS ("REGION_START", ROM);
+REGION_ALIAS ("REGION_FAST_TEXT", ROM);
+REGION_ALIAS ("REGION_FAST_TEXT_LOAD", ROM);
+REGION_ALIAS ("REGION_TEXT", ROM);
+REGION_ALIAS ("REGION_TEXT_LOAD", ROM);
+REGION_ALIAS ("REGION_RODATA", ROM);
+REGION_ALIAS ("REGION_RODATA_LOAD", ROM);
+REGION_ALIAS ("REGION_FAST_DATA", RAM);
+REGION_ALIAS ("REGION_FAST_DATA_LOAD", ROM);
+REGION_ALIAS ("REGION_DATA", RAM);
+REGION_ALIAS ("REGION_DATA_LOAD", ROM);
+REGION_ALIAS ("REGION_BSS", RAM);
+REGION_ALIAS ("REGION_RWEXTRA", RAM);
+REGION_ALIAS ("REGION_WORK", RAM);
+REGION_ALIAS ("REGION_STACK", RAM);
+REGION_ALIAS ("REGION_NOCACHE", EMPTY);
+REGION_ALIAS ("REGION_NOCACHE_LOAD", EMPTY);
+REGION_ALIAS ("REGION_NVRAM", EMPTY);
+
+SECTIONS {
+ .reset :
+ {
+ KEEP(*(.reset))
+ } >RESET
+}
+
+INCLUDE linkcmds.base