blob: b982fa3dd748a545f8b7b29eeee1ac7901fcfb67 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/* ld script to make UltraLinux kernel */
2
Sam Ravnborg4096b462007-05-29 21:29:00 +02003#include <asm/page.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -07004#include <asm-generic/vmlinux.lds.h>
5
6OUTPUT_FORMAT("elf64-sparc", "elf64-sparc", "elf64-sparc")
7OUTPUT_ARCH(sparc:v9a)
8ENTRY(_start)
9
10jiffies = jiffies_64;
11SECTIONS
12{
David S. Miller56425302005-09-25 16:46:57 -070013 swapper_low_pmd_dir = 0x0000000000402000;
Linus Torvalds1da177e2005-04-16 15:20:36 -070014 . = 0x4000;
15 .text 0x0000000000404000 :
16 {
Eric W. Biedermanfd593d12006-12-07 02:14:04 +010017 _text = .;
Sam Ravnborg76647092007-05-13 00:31:33 +020018 TEXT_TEXT
Linus Torvalds1da177e2005-04-16 15:20:36 -070019 SCHED_TEXT
20 LOCK_TEXT
Prasanna S Panchamukhi05e14cb2005-09-06 15:19:30 -070021 KPROBES_TEXT
Linus Torvalds1da177e2005-04-16 15:20:36 -070022 *(.gnu.warning)
23 } =0
24 _etext = .;
25 PROVIDE (etext = .);
26
Sam Ravnborg4096b462007-05-29 21:29:00 +020027 RO_DATA(PAGE_SIZE)
Linus Torvalds1da177e2005-04-16 15:20:36 -070028
29 .data :
30 {
Sam Ravnborgca967252007-05-17 13:38:44 +020031 DATA_DATA
Linus Torvalds1da177e2005-04-16 15:20:36 -070032 CONSTRUCTORS
33 }
34 .data1 : { *(.data1) }
35 . = ALIGN(64);
36 .data.cacheline_aligned : { *(.data.cacheline_aligned) }
David S. Millerd369ddd2005-07-10 15:45:11 -070037 . = ALIGN(64);
38 .data.read_mostly : { *(.data.read_mostly) }
Linus Torvalds1da177e2005-04-16 15:20:36 -070039 _edata = .;
40 PROVIDE (edata = .);
41 .fixup : { *(.fixup) }
42
43 . = ALIGN(16);
44 __start___ex_table = .;
45 __ex_table : { *(__ex_table) }
46 __stop___ex_table = .;
47
David S. Miller0c0d3452007-07-22 19:19:05 -070048 NOTES
49
Sam Ravnborg4096b462007-05-29 21:29:00 +020050 . = ALIGN(PAGE_SIZE);
Linus Torvalds1da177e2005-04-16 15:20:36 -070051 __init_begin = .;
52 .init.text : {
53 _sinittext = .;
54 *(.init.text)
55 _einittext = .;
56 }
57 .init.data : { *(.init.data) }
58 . = ALIGN(16);
59 __setup_start = .;
60 .init.setup : { *(.init.setup) }
61 __setup_end = .;
62 __initcall_start = .;
63 .initcall.init : {
Andrew Morton61ce1ef2006-10-27 11:41:44 -070064 INITCALLS
Linus Torvalds1da177e2005-04-16 15:20:36 -070065 }
66 __initcall_end = .;
67 __con_initcall_start = .;
68 .con_initcall.init : { *(.con_initcall.init) }
69 __con_initcall_end = .;
70 SECURITY_INIT
David S. Miller517af332006-02-01 15:55:21 -080071 . = ALIGN(4);
David S. Millerd257d5d2006-02-06 23:44:37 -080072 __tsb_ldquad_phys_patch = .;
73 .tsb_ldquad_phys_patch : { *(.tsb_ldquad_phys_patch) }
74 __tsb_ldquad_phys_patch_end = .;
David S. Miller517af332006-02-01 15:55:21 -080075 __tsb_phys_patch = .;
76 .tsb_phys_patch : { *(.tsb_phys_patch) }
77 __tsb_phys_patch_end = .;
David S. Miller92704a12006-02-26 23:27:19 -080078 __cpuid_patch = .;
79 .cpuid_patch : { *(.cpuid_patch) }
80 __cpuid_patch_end = .;
David S. Millerdf7d6ae2006-02-07 00:00:16 -080081 __sun4v_1insn_patch = .;
82 .sun4v_1insn_patch : { *(.sun4v_1insn_patch) }
83 __sun4v_1insn_patch_end = .;
84 __sun4v_2insn_patch = .;
85 .sun4v_2insn_patch : { *(.sun4v_2insn_patch) }
86 __sun4v_2insn_patch_end = .;
Jean-Paul Saman67d38222007-02-10 01:44:44 -080087
88#ifdef CONFIG_BLK_DEV_INITRD
Sam Ravnborg4096b462007-05-29 21:29:00 +020089 . = ALIGN(PAGE_SIZE);
Linus Torvalds1da177e2005-04-16 15:20:36 -070090 __initramfs_start = .;
91 .init.ramfs : { *(.init.ramfs) }
92 __initramfs_end = .;
Jean-Paul Saman67d38222007-02-10 01:44:44 -080093#endif
94
Fenghua Yu5fb7dc32007-07-19 01:48:12 -070095 PERCPU(PAGE_SIZE)
96
Sam Ravnborg4096b462007-05-29 21:29:00 +020097 . = ALIGN(PAGE_SIZE);
Linus Torvalds1da177e2005-04-16 15:20:36 -070098 __init_end = .;
99 __bss_start = .;
100 .sbss : { *(.sbss) *(.scommon) }
101 .bss :
102 {
103 *(.dynbss)
104 *(.bss)
105 *(COMMON)
106 }
107 _end = . ;
108 PROVIDE (end = .);
Linus Torvalds1da177e2005-04-16 15:20:36 -0700109 /DISCARD/ : { *(.exit.text) *(.exit.data) *(.exitcall.exit) }
David S. Millerd5784b52005-12-28 13:22:54 -0800110
111 STABS_DEBUG
112
113 DWARF_DEBUG
Linus Torvalds1da177e2005-04-16 15:20:36 -0700114}