[arch][microblaze] change linker script to support having a different LMA for the vector table

The qemu target has 128KB of ram at 0 and the rest at 0x90000000.
Split the binary so that the vector table lives at 0 and everything else in
the high address.
This commit is contained in:
Travis Geiselbrecht
2015-01-31 18:38:39 -08:00
parent 9550869ff5
commit 6f4183bc9a
5 changed files with 26 additions and 17 deletions

View File

@@ -8,10 +8,14 @@ SECTIONS
_start = .;
/* vector table goes at 0, for qemu target, at least */
.vectors : AT(0) {
KEEP(*(.vectors))
}
/* text/read-only data */
/* set the load address to physical MEMBASE */
.text : AT(%MEMBASE% + %KERNEL_LOAD_OFFSET%) {
KEEP(*(.vectors))
.text : AT(%MEMBASE% + %KERNEL_LOAD_OFFSET% + SIZEOF(.vectors)) {
KEEP(*(.text.boot))
*(.text* .gnu.linkonce.t.*)
}