Added: new boot.S, serial out for Xeon Phi
[barrelfish] / kernel / arch / k1om / linker.lds.in
1 /*
2  * Copyright (c) 2007, 2008, ETH Zurich.
3  * All rights reserved.
4  *
5  * This file is distributed under the terms in the attached LICENSE file.
6  * If you do not find this file, copies can be found by writing to:
7  * ETH Zurich D-INFK, Haldeneggsteig 4, CH-8092 Zurich. Attn: Systems Group.
8  */
9
10 #include <target/x86_64/offsets_target.h>
11
12 OUTPUT_FORMAT("elf64-x86-64")
13 OUTPUT_ARCH("i386:x86-64")
14 /* OUTPUT_ARCH(k1om)*/
15
16 _start_kernel = X86_64_START_KERNEL_PHYS;
17
18
19 ENTRY(startup_64)
20 SECTIONS
21 {
22  /* Be careful parts of head_64.S assume startup_32 is at
23            * address 0.
24            */
25  . = 0 ;
26  .head.text : {
27   _head = . ;
28   *(.head.text)
29   _ehead = . ;
30  }
31  .rodata..compressed : {
32   *(.rodata..compressed)
33  }
34  .text : {
35   _text = .; /* Text */
36   *(.text)
37   *(.text.*)
38   _etext = . ;
39  }
40  .rodata : {
41   _rodata = . ;
42   *(.rodata) /* read-only data */
43   *(.rodata.*)
44   _erodata = . ;
45  }
46  .got : {
47   _got = .;
48   KEEP(*(.got.plt))
49   KEEP(*(.got))
50   _egot = .;
51  }
52  .data : {
53   _data = . ;
54   *(.data)
55   *(.data.*)
56   _edata = . ;
57  }
58  . = ALIGN((1 << (6)));
59  .bss : {
60   _bss = . ;
61   *(.bss)
62   *(.bss.*)
63   *(COMMON)
64   . = ALIGN(8); /* For convenience during zeroing */
65   _ebss = .;
66  }
67        . = ALIGN((1 << 12));
68        .pgtable : {
69   _pgtable = . ;
70   *(.pgtable)
71   _epgtable = . ;
72  }
73  _end_kernel = .;
74  
75  /***** These sections get discarded *****/
76         /DISCARD/ :
77         {
78                 /* Discard exception handler frames and headers -- we don't use em */
79                 *(.eh_frame);
80                 *(.eh_frame_hdr);
81                 *(.note.gnu.build-id);
82                 *(.interp);
83 /*              *(.dynsym); */
84 /*              *(.dynstr); */
85 /*              *(.hash); */
86 /*              *(.gnu.hash); */
87                 *(.dynamic);
88         }
89 }