nmi_backtrace: generate one-line reports for idle cpus
[cascardo/linux.git] / arch / m68k / kernel / vmlinux-nommu.lds
1 /*
2  *      vmlinux.lds.S -- master linker script for m68knommu arch
3  *
4  *      (C) Copyright 2002-2012, Greg Ungerer <gerg@snapgear.com>
5  *
6  *      This linker script is equipped to build either ROM loaded or RAM
7  *      run kernels.
8  */
9
10 #if defined(CONFIG_RAMKERNEL)
11 #define KTEXT_ADDR      CONFIG_KERNELBASE
12 #endif
13 #if defined(CONFIG_ROMKERNEL)
14 #define KTEXT_ADDR      CONFIG_ROMSTART
15 #define KDATA_ADDR      CONFIG_KERNELBASE
16 #define LOAD_OFFSET     KDATA_ADDR + (ADDR(.text) + SIZEOF(.text))
17 #endif
18
19 #include <asm/page.h>
20 #include <asm/thread_info.h>
21 #include <asm-generic/vmlinux.lds.h>
22
23 OUTPUT_ARCH(m68k)
24 ENTRY(_start)
25
26 jiffies = jiffies_64 + 4;
27
28 SECTIONS {
29
30 #ifdef CONFIG_ROMVEC
31         . = CONFIG_ROMVEC;
32         .romvec : {
33                 __rom_start = .;
34                 _romvec = .;
35                 *(.romvec)
36                 *(.data..initvect)
37         }
38 #endif
39
40         . = KTEXT_ADDR;
41
42         _text = .;
43         _stext = .;
44         .text : {
45                 HEAD_TEXT
46                 TEXT_TEXT
47                 SCHED_TEXT
48                 CPUIDLE_TEXT
49                 LOCK_TEXT
50                 *(.fixup)
51                 . = ALIGN(16);
52         }
53         _etext = .;
54
55 #ifdef KDATA_ADDR
56         . = KDATA_ADDR;
57 #endif
58
59         _sdata = .;
60         RO_DATA_SECTION(PAGE_SIZE)
61         RW_DATA_SECTION(16, PAGE_SIZE, THREAD_SIZE)
62         _edata = .;
63
64         EXCEPTION_TABLE(16)
65         NOTES
66
67         . = ALIGN(PAGE_SIZE);
68         __init_begin = .;
69         INIT_TEXT_SECTION(PAGE_SIZE)
70         INIT_DATA_SECTION(16)
71         PERCPU_SECTION(16)
72         .m68k_fixup : {
73                 __start_fixup = .;
74                 *(.m68k_fixup)
75                 __stop_fixup = .;
76         }
77         .init.data : {
78                 . = ALIGN(PAGE_SIZE);
79                 __init_end = .;
80         }
81
82         BSS_SECTION(0, 0, 0)
83
84         _end = .;
85
86         STABS_DEBUG
87         .comment 0 : { *(.comment) }
88
89         /* Sections to be discarded */
90         DISCARDS
91 }
92