diff options
Diffstat (limited to 'ld/emulparams')
-rw-r--r-- | ld/emulparams/arc-nps.sh | 78 | ||||
-rw-r--r-- | ld/emulparams/arclinux_nps.sh | 3 |
2 files changed, 81 insertions, 0 deletions
diff --git a/ld/emulparams/arc-nps.sh b/ld/emulparams/arc-nps.sh new file mode 100644 index 0000000..615e6d5 --- /dev/null +++ b/ld/emulparams/arc-nps.sh @@ -0,0 +1,78 @@ +OTHER_SECTIONS=" + /* Start of symbols and sections required to support CMEM instructions + on NPS targets. */ + + PROVIDE (_cmem_start = ADDR (.cmem) ); + PROVIDE (_cmem_alter_start = ADDR (.cmem_alter) ); + PROVIDE (_cmem_shared_start = ADDR (.cmem_shared) ); + PROVIDE (_cmem_shared_alter_start = ADDR (.cmem_shared_alter) ); + PROVIDE (_fmt_slot0_start = ADDR (.fmt_slot0) ); + PROVIDE (_fmt_slot1_start = ADDR (.fmt_slot1) ); + PROVIDE (_fmt_slot2_start = ADDR (.fmt_slot2) ); + PROVIDE (_fmt_slot3_start = ADDR (.fmt_slot3) ); + PROVIDE (_fmt_slot4_start = ADDR (.fmt_slot4) ); + PROVIDE (_fmt_slot5_start = ADDR (.fmt_slot5) ); + PROVIDE (_fmt_slot6_start = ADDR (.fmt_slot6) ); + PROVIDE (_fmt_slot7_start = ADDR (.fmt_slot7) ); + PROVIDE (_fmt_slot8_start = ADDR (.fmt_slot8) ); + PROVIDE (_fmt_slot9_start = ADDR (.fmt_slot9) ); + PROVIDE (_fmt_slot10_start = ADDR (.fmt_slot10) ); + PROVIDE (_fmt_slot11_start = ADDR (.fmt_slot11) ); + PROVIDE (_fmt_slot12_start = ADDR (.fmt_slot12) ); + PROVIDE (_fmt_slot13_start = ADDR (.fmt_slot13) ); + PROVIDE (_fmt_slot14_start = ADDR (.fmt_slot14) ); + PROVIDE (_fmt_slot15_start = ADDR (.fmt_slot15) ); + + PROVIDE (_cmem_end = ADDR (.cmem) + SIZEOF (.cmem) ); + PROVIDE (_cmem_alter_end = ADDR (.cmem_alter) + SIZEOF (.cmem_alter) ); + PROVIDE (_cmem_shared_end = ADDR (.cmem_shared) + SIZEOF (.cmem_shared) ); + PROVIDE (_cmem_shared_alter_end = ADDR (.cmem_shared_alter) + SIZEOF (.cmem_shared_alter) ); + PROVIDE (_fmt_slot0_end = ADDR (.fmt_slot0) + SIZEOF (.fmt_slot0) ); + PROVIDE (_fmt_slot1_end = ADDR (.fmt_slot1) + SIZEOF (.fmt_slot1) ); + PROVIDE (_fmt_slot2_end = ADDR (.fmt_slot2) + SIZEOF (.fmt_slot2) ); + PROVIDE (_fmt_slot3_end = ADDR (.fmt_slot3) + SIZEOF (.fmt_slot3) ); + PROVIDE (_fmt_slot4_end = ADDR (.fmt_slot4) + SIZEOF (.fmt_slot4) ); + PROVIDE (_fmt_slot5_end = ADDR (.fmt_slot5) + SIZEOF (.fmt_slot5) ); + PROVIDE (_fmt_slot6_end = ADDR (.fmt_slot6) + SIZEOF (.fmt_slot6) ); + PROVIDE (_fmt_slot7_end = ADDR (.fmt_slot7) + SIZEOF (.fmt_slot7) ); + PROVIDE (_fmt_slot8_end = ADDR (.fmt_slot8) + SIZEOF (.fmt_slot8) ); + PROVIDE (_fmt_slot9_end = ADDR (.fmt_slot9) + SIZEOF (.fmt_slot9) ); + PROVIDE (_fmt_slot10_end = ADDR (.fmt_slot10) + SIZEOF (.fmt_slot10) ); + PROVIDE (_fmt_slot11_end = ADDR (.fmt_slot11) + SIZEOF (.fmt_slot11) ); + PROVIDE (_fmt_slot12_end = ADDR (.fmt_slot12) + SIZEOF (.fmt_slot12) ); + PROVIDE (_fmt_slot13_end = ADDR (.fmt_slot13) + SIZEOF (.fmt_slot13) ); + PROVIDE (_fmt_slot14_end = ADDR (.fmt_slot14) + SIZEOF (.fmt_slot14) ); + PROVIDE (_fmt_slot15_end = ADDR (.fmt_slot15) + SIZEOF (.fmt_slot15) ); + + OVERLAY 0x57f00000 : + { + .cmem { *(.cmem) } + .cmem_alter { *(.cmem_alter) } + } + + OVERLAY 0x57f08000 : + { + .cmem_shared { *(.cmem_shared) } + .cmem_shared_alter { *(.cmem_shared_alter) } + } + + .fmt_slot0 0x58000000 : { *(.fmt_slot0) } + .fmt_slot1 0x58800000 : { *(.fmt_slot1) } + .fmt_slot2 0x59000000 : { *(.fmt_slot2) } + .fmt_slot3 0x59800000 : { *(.fmt_slot3) } + .fmt_slot4 0x5a000000 : { *(.fmt_slot4) } + .fmt_slot5 0x5a800000 : { *(.fmt_slot5) } + .fmt_slot6 0x5b000000 : { *(.fmt_slot6) } + .fmt_slot7 0x5b800000 : { *(.fmt_slot7) } + .fmt_slot8 0x5c000000 : { *(.fmt_slot8) } + .fmt_slot9 0x5c800000 : { *(.fmt_slot9) } + .fmt_slot10 0x5d000000 : { *(.fmt_slot10) } + .fmt_slot11 0x5d800000 : { *(.fmt_slot11) } + .fmt_slot12 0x5e000000 : { *(.fmt_slot12) } + .fmt_slot13 0x5e800000 : { *(.fmt_slot13) } + .fmt_slot14 0x5f000000 : { *(.fmt_slot14) } + .fmt_slot15 0x5f800000 : { *(.fmt_slot15) } + + /* End of nps specific sections and symbols. */ + + ${OTHER_SECTIONS}" diff --git a/ld/emulparams/arclinux_nps.sh b/ld/emulparams/arclinux_nps.sh new file mode 100644 index 0000000..b1c6a7d --- /dev/null +++ b/ld/emulparams/arclinux_nps.sh @@ -0,0 +1,3 @@ +. ${srcdir}/emulparams/arclinux.sh +# Extend the OTHER_SECTIONS for nps. +. ${srcdir}/emulparams/arc-nps.sh |