direct-io.hg

view xen/arch/x86/x86_64/xen.lds.S @ 15454:83cbda5c1e1b

x86-64: bump STACK_SIZE to 32 so that trampoline and IST stacks fit
without undue squeezing.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
author kfraser@localhost.localdomain
date Tue Jul 03 11:41:25 2007 +0100 (2007-07-03)
parents 23c4790512db
children
line source
1 /* Excerpts written by Martin Mares <mj@atrey.karlin.mff.cuni.cz> */
2 /* Modified for x86-64 Xen by Keir Fraser */
4 #include <xen/config.h>
5 #include <asm/page.h>
6 #include <asm/percpu.h>
7 #undef ENTRY
8 #undef ALIGN
10 OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64")
11 OUTPUT_ARCH(i386:x86-64)
12 ENTRY(start)
13 PHDRS
14 {
15 text PT_LOAD ;
16 }
17 SECTIONS
18 {
19 . = __XEN_VIRT_START + 0x100000;
20 _start = .;
21 _stext = .; /* Text and read-only data */
22 .text : {
23 *(.text)
24 *(.fixup)
25 *(.gnu.warning)
26 } :text = 0x9090
27 .text.lock : { *(.text.lock) } :text /* out-of-line lock text */
29 _etext = .; /* End of text section */
31 .rodata : { *(.rodata) *(.rodata.*) } :text
33 . = ALIGN(32); /* Exception table */
34 __start___ex_table = .;
35 __ex_table : { *(__ex_table) } :text
36 __stop___ex_table = .;
38 . = ALIGN(32); /* Pre-exception table */
39 __start___pre_ex_table = .;
40 __pre_ex_table : { *(__pre_ex_table) } :text
41 __stop___pre_ex_table = .;
43 .data : { /* Data */
44 *(.data)
45 CONSTRUCTORS
46 } :text
48 . = ALIGN(128);
49 .data.read_mostly : { *(.data.read_mostly) } :text
51 . = ALIGN(4096); /* Init code and data */
52 __init_begin = .;
53 _sinittext = .;
54 .init.text : { *(.init.text) } :text
55 _einittext = .;
56 .init.data : { *(.init.data) } :text
57 . = ALIGN(32);
58 __setup_start = .;
59 .init.setup : { *(.init.setup) } :text
60 __setup_end = .;
61 __initcall_start = .;
62 .initcall.init : { *(.initcall1.init) } :text
63 __initcall_end = .;
64 . = ALIGN(PAGE_SIZE);
65 __init_end = .;
67 __per_cpu_start = .;
68 .data.percpu : { *(.data.percpu) } :text
69 __per_cpu_data_end = .;
70 . = __per_cpu_start + (NR_CPUS << PERCPU_SHIFT);
71 . = ALIGN(PAGE_SIZE);
72 __per_cpu_end = .;
74 __bss_start = .; /* BSS */
75 .bss : {
76 . = ALIGN(STACK_SIZE);
77 *(.bss.stack_aligned)
78 . = ALIGN(PAGE_SIZE);
79 *(.bss.page_aligned)
80 *(.bss)
81 } :text
82 _end = . ;
84 /* Sections to be discarded */
85 /DISCARD/ : {
86 *(.exit.text)
87 *(.exit.data)
88 *(.exitcall.exit)
89 }
91 /* Stabs debugging sections. */
92 .stab 0 : { *(.stab) }
93 .stabstr 0 : { *(.stabstr) }
94 .stab.excl 0 : { *(.stab.excl) }
95 .stab.exclstr 0 : { *(.stab.exclstr) }
96 .stab.index 0 : { *(.stab.index) }
97 .stab.indexstr 0 : { *(.stab.indexstr) }
98 .comment 0 : { *(.comment) }
99 }