Add qemu 2.4.0
[kvmfornfv.git] / qemu / roms / openbios / arch / ppc64 / qemu / ldscript
diff --git a/qemu/roms/openbios/arch/ppc64/qemu/ldscript b/qemu/roms/openbios/arch/ppc64/qemu/ldscript
new file mode 100644 (file)
index 0000000..fbbcc54
--- /dev/null
@@ -0,0 +1,85 @@
+OUTPUT_FORMAT(elf64-powerpc)
+OUTPUT_ARCH(powerpc:common64)
+
+/* Initial load address
+ */
+BASE_ADDR = 0xfff00000;
+
+/* As NVRAM is at 0xfff04000, the .text needs to be after that
+ * The value in arch/ppc/qemu/kernel.c must match this value!
+ */
+TEXT_ADDR = 0xfff08000;
+
+/* Hard reset vector address
+ */
+HRESET_ADDR = 0xfffffffc;
+
+CSTACK_SIZE = 32768;   /* client stack size */
+
+SECTIONS
+{
+    . = BASE_ADDR;
+
+    _start = BASE_ADDR + 0x0100;
+    .text.vectors ALIGN(4096): {
+        *(.text.vectors)
+    }
+
+    . = TEXT_ADDR;
+    /* Normal sections */
+    .data.dict ALIGN(4096): {
+        _dict_start = .;
+        *(.data.dict)
+        _dict_end = .;
+    }
+
+    .text ALIGN(4096): {
+        *(.text)
+        *(.text.*)
+    }
+
+    .rodata ALIGN(4096): {
+        _rodata = .;
+       *(.rodata)
+       *(.rodata.*)
+        *(.note.ELFBoot)
+    }
+    .data ALIGN(4096): {
+        _data = .;
+        *(.data)
+        *(.data.*)
+        *(.toc1)
+        *(.branch_lt)
+       _edata = .;
+    }
+    .opd : {
+        *(.opd)
+    }
+    .got : {
+        __toc_start = .;
+        *(.got)
+        *(.toc)
+    }
+
+    .bss ALIGN(4096): {
+        _bss = .;
+       *(.sbss)
+       *(.sbss.*)
+       *(.bss)
+       *(.bss.*)
+       *(COMMON)
+       _ebss = .;
+    }
+
+    . = HRESET_ADDR;
+
+    .romentry : { *(.romentry) }
+
+    . = ALIGN(4096);
+    _end = .;
+
+    /* We discard .note sections other than .note.ELFBoot,
+     * because some versions of GCC generates useless ones. */
+
+    /DISCARD/ : { *(.comment*) *(.note.*) }
+}