direct-io.hg

view xen/arch/x86/x86_32/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 60f91c9f1a24
children
line source
1 /* ld script to make i386 Linux kernel
2 * Written by Martin Mares <mj@atrey.karlin.mff.cuni.cz>
3 * Modified for i386 Xen by Keir Fraser
4 */
6 #include <xen/config.h>
7 #include <asm/page.h>
8 #include <asm/percpu.h>
9 #undef ENTRY
10 #undef ALIGN
12 OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
13 OUTPUT_ARCH(i386)
14 ENTRY(start)
15 PHDRS
16 {
17 text PT_LOAD ;
18 }
19 SECTIONS
20 {
21 . = 0xFF000000 + 0x100000;
22 _start = .;
23 _stext = .; /* Text and read-only data */
24 .text : {
25 *(.text)
26 *(.fixup)
27 *(.gnu.warning)
28 } :text =0x9090
29 .text.lock : { *(.text.lock) } :text /* out-of-line lock text */
31 _etext = .; /* End of text section */
33 .rodata : { *(.rodata) *(.rodata.*) } :text
35 . = ALIGN(32); /* Exception table */
36 __start___ex_table = .;
37 __ex_table : { *(__ex_table) } :text
38 __stop___ex_table = .;
40 . = ALIGN(32); /* Pre-exception table */
41 __start___pre_ex_table = .;
42 __pre_ex_table : { *(__pre_ex_table) } :text
43 __stop___pre_ex_table = .;
45 .data : { /* Data */
46 *(.data)
47 CONSTRUCTORS
48 } :text
50 . = ALIGN(128);
51 .data.read_mostly : { *(.data.read_mostly) } :text
53 . = ALIGN(4096); /* Init code and data */
54 __init_begin = .;
55 _sinittext = .;
56 .init.text : { *(.init.text) } :text
57 _einittext = .;
58 .init.data : { *(.init.data) } :text
59 . = ALIGN(32);
60 __setup_start = .;
61 .init.setup : { *(.init.setup) } :text
62 __setup_end = .;
63 __initcall_start = .;
64 .initcall.init : { *(.initcall1.init) } :text
65 __initcall_end = .;
66 . = ALIGN(PAGE_SIZE);
67 __init_end = .;
69 __per_cpu_start = .;
70 .data.percpu : { *(.data.percpu) } :text
71 __per_cpu_data_end = .;
72 . = __per_cpu_start + (NR_CPUS << PERCPU_SHIFT);
73 . = ALIGN(PAGE_SIZE);
74 __per_cpu_end = .;
76 __bss_start = .; /* BSS */
77 .bss : {
78 . = ALIGN(STACK_SIZE);
79 *(.bss.stack_aligned)
80 . = ALIGN(PAGE_SIZE);
81 *(.bss.page_aligned)
82 *(.bss)
83 } :text
84 _end = . ;
86 /* Sections to be discarded */
87 /DISCARD/ : {
88 *(.exit.text)
89 *(.exit.data)
90 *(.exitcall.exit)
91 }
93 /* Stabs debugging sections. */
94 .stab 0 : { *(.stab) }
95 .stabstr 0 : { *(.stabstr) }
96 .stab.excl 0 : { *(.stab.excl) }
97 .stab.exclstr 0 : { *(.stab.exclstr) }
98 .stab.index 0 : { *(.stab.index) }
99 .stab.indexstr 0 : { *(.stab.indexstr) }
100 .comment 0 : { *(.comment) }
101 }