Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6
[linux-2.6.git] / arch / m32r / kernel / vmlinux.lds.S
1 /* ld script to make M32R Linux kernel
2  */
3
4 #include <asm-generic/vmlinux.lds.h>
5 #include <asm/addrspace.h>
6 #include <asm/page.h>
7 #include <asm/thread_info.h>
8
9 OUTPUT_ARCH(m32r)
10 #if defined(__LITTLE_ENDIAN__)
11        jiffies = jiffies_64;
12 #else
13        jiffies = jiffies_64 + 4;
14 #endif
15
16 kernel_entry = boot - 0x80000000;
17 ENTRY(kernel_entry)
18
19 SECTIONS
20 {
21   . = CONFIG_MEMORY_START + __PAGE_OFFSET;
22   eit_vector = .;
23
24   . = . + 0x1000;
25   .empty_zero_page : { *(.empty_zero_page) } = 0
26
27   /* read-only */
28   _text = .;                    /* Text and read-only data */
29   .boot : { *(.boot) } = 0
30   .text : {
31         HEAD_TEXT
32         TEXT_TEXT
33         SCHED_TEXT
34         LOCK_TEXT
35         *(.fixup)
36         *(.gnu.warning)
37         } = 0x9090
38 #ifdef CONFIG_SMP
39   . = ALIGN(65536);
40   .eit_vector4 : { *(.eit_vector4) }
41 #endif
42   _etext = .;                   /* End of text section */
43
44   EXCEPTION_TABLE(16)
45   NOTES
46
47   RODATA
48   RW_DATA_SECTION(32, PAGE_SIZE, THREAD_SIZE)
49   _edata = .;                   /* End of data section */
50
51   /* will be freed after init */
52   . = ALIGN(PAGE_SIZE);         /* Init code and data */
53   __init_begin = .;
54   INIT_TEXT_SECTION(PAGE_SIZE)
55   INIT_DATA_SECTION(16)
56   PERCPU(PAGE_SIZE)
57   . = ALIGN(PAGE_SIZE);
58   __init_end = .;
59   /* freed after init ends here */
60
61   BSS_SECTION(0, 0, 4)
62
63   _end = . ;
64
65   /* Stabs debugging sections.  */
66   .stab 0 : { *(.stab) }
67   .stabstr 0 : { *(.stabstr) }
68   .stab.excl 0 : { *(.stab.excl) }
69   .stab.exclstr 0 : { *(.stab.exclstr) }
70   .stab.index 0 : { *(.stab.index) }
71   .stab.indexstr 0 : { *(.stab.indexstr) }
72   .comment 0 : { *(.comment) }
73
74   /* Sections to be discarded */
75   DISCARDS
76 }