aboutsummaryrefslogtreecommitdiffstats
path: root/extras/mini-os/minios-x86_64.lds
diff options
context:
space:
mode:
authorkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>2005-02-11 11:34:22 +0000
committerkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>2005-02-11 11:34:22 +0000
commitec0f4bdc22af71da6c69ddccc3445bc909c2ca6a (patch)
tree57c7c099e7c3f6d5072f31c08b8dedf687a24de1 /extras/mini-os/minios-x86_64.lds
parent4e88d35838b90820c4b7bdbf7ba2704ed9cf555f (diff)
downloadxen-ec0f4bdc22af71da6c69ddccc3445bc909c2ca6a.tar.gz
xen-ec0f4bdc22af71da6c69ddccc3445bc909c2ca6a.tar.bz2
xen-ec0f4bdc22af71da6c69ddccc3445bc909c2ca6a.zip
bitkeeper revision 1.1177.1.1 (420c983eSjbjDYGF-fYWrXw_L7qkLA)
Mini-OS cleanups. Bug fixes in x86_64 assembly code. Signed-off-by: keir.fraser@cl.cam.ac.uk
Diffstat (limited to 'extras/mini-os/minios-x86_64.lds')
-rw-r--r--extras/mini-os/minios-x86_64.lds54
1 files changed, 54 insertions, 0 deletions
diff --git a/extras/mini-os/minios-x86_64.lds b/extras/mini-os/minios-x86_64.lds
new file mode 100644
index 0000000000..71b61131b8
--- /dev/null
+++ b/extras/mini-os/minios-x86_64.lds
@@ -0,0 +1,54 @@
+OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64")
+OUTPUT_ARCH(i386:x86-64)
+ENTRY(_start)
+SECTIONS
+{
+ . = 0xFFFFFFFF00000000;
+ _text = .; /* Text and read-only data */
+ .text : {
+ *(.text)
+ *(.gnu.warning)
+ } = 0x9090
+
+ _etext = .; /* End of text section */
+
+ .rodata : { *(.rodata) *(.rodata.*) }
+
+ .data : { /* Data */
+ *(.data)
+ CONSTRUCTORS
+ }
+
+ _edata = .; /* End of data section */
+
+ . = ALIGN(8192); /* init_task */
+ .data.init_task : { *(.data.init_task) }
+
+ . = ALIGN(4096);
+ .data.page_aligned : { *(.data.idt) }
+
+ . = ALIGN(32);
+ .data.cacheline_aligned : { *(.data.cacheline_aligned) }
+
+ __bss_start = .; /* BSS */
+ .bss : {
+ *(.bss)
+ }
+ _end = . ;
+
+ /* Sections to be discarded */
+ /DISCARD/ : {
+ *(.text.exit)
+ *(.data.exit)
+ *(.exitcall.exit)
+ }
+
+ /* Stabs debugging sections. */
+ .stab 0 : { *(.stab) }
+ .stabstr 0 : { *(.stabstr) }
+ .stab.excl 0 : { *(.stab.excl) }
+ .stab.exclstr 0 : { *(.stab.exclstr) }
+ .stab.index 0 : { *(.stab.index) }
+ .stab.indexstr 0 : { *(.stab.indexstr) }
+ .comment 0 : { *(.comment) }
+}