1 /* MN10300 Main kernel linker script
3 * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
4 * Written by David Howells (dhowells@redhat.com)
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public Licence
8 * as published by the Free Software Foundation; either version
9 * 2 of the Licence, or (at your option) any later version.
11 #define __VMLINUX_LDS__
12 #include <asm-generic/vmlinux.lds.h>
13 #include <asm/thread_info.h>
16 OUTPUT_FORMAT("elf32-am33lin", "elf32-am33lin", "elf32-am33lin")
20 #ifndef CONFIG_MN10300_CURRENT_IN_E2
25 . = CONFIG_KERNEL_TEXT_ADDRESS;
28 _text = .; /* Text and read-only data */
39 _etext = .; /* End of text section */
52 .data_nosave : { NOSAVE_DATA; }
54 .data.page_aligned : { PAGE_ALIGNED_DATA(PAGE_SIZE); }
55 .data.cacheline_aligned : { CACHELINE_ALIGNED_DATA(32); }
57 /* rarely changed data like cpu maps */
59 .data.read_mostly : AT(ADDR(.data.read_mostly)) {
61 _edata = .; /* End of data section */
64 .data.init_task : { INIT_TASK_DATA(THREAD_SIZE); }
66 /* might get freed after init */
68 .smp_locks : AT(ADDR(.smp_locks) - LOAD_OFFSET) {
74 /* will be freed after init */
75 . = ALIGN(PAGE_SIZE); /* Init code and data */
82 .init.data : { INIT_DATA; }
83 .setup.init : { INIT_SETUP(16); }
90 .con_initcall.init : { CON_INITCALL; }
94 __alt_instructions = .;
95 .altinstructions : { *(.altinstructions) }
96 __alt_instructions_end = .;
97 .altinstr_replacement : { *(.altinstr_replacement) }
98 /* .exit.text is discard at runtime, not link time, to deal with references
99 from .altinstructions and .eh_frame */
100 .exit.text : { EXIT_TEXT; }
101 .exit.data : { EXIT_DATA; }
103 .init.ramfs : { INIT_RAM_FS; }
106 . = ALIGN(PAGE_SIZE);
108 /* freed after init ends here */
110 BSS_SECTION(0, PAGE_SIZE, 4)
114 /* This is where the kernel creates the early boot page tables */
115 . = ALIGN(PAGE_SIZE);
122 /* Sections to be discarded */