Full support for Ginger Console
[linux-ginger.git] / arch / m32r / kernel / vmlinux.lds.S
blob8ceb6181d80532d95109ef7fe50c86417fafebd9
1 /* ld script to make M32R Linux kernel
2  */
4 #include <asm-generic/vmlinux.lds.h>
5 #include <asm/addrspace.h>
6 #include <asm/page.h>
7 #include <asm/thread_info.h>
9 OUTPUT_ARCH(m32r)
10 #if defined(__LITTLE_ENDIAN__)
11        jiffies = jiffies_64;
12 #else
13        jiffies = jiffies_64 + 4;
14 #endif
16 kernel_entry = boot - 0x80000000;
17 ENTRY(kernel_entry)
19 SECTIONS
21   . = CONFIG_MEMORY_START + __PAGE_OFFSET;
22   eit_vector = .;
24   . = . + 0x1000;
25   .empty_zero_page : { *(.empty_zero_page) } = 0
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 */
44   EXCEPTION_TABLE(16)
45   RODATA
46   RW_DATA_SECTION(32, PAGE_SIZE, THREAD_SIZE)
47   _edata = .;                   /* End of data section */
49   /* will be freed after init */
50   . = ALIGN(PAGE_SIZE);         /* Init code and data */
51   __init_begin = .;
52   INIT_TEXT_SECTION(PAGE_SIZE)
53   INIT_DATA_SECTION(16)
54   PERCPU(PAGE_SIZE)
55   . = ALIGN(PAGE_SIZE);
56   __init_end = .;
57   /* freed after init ends here */
59   BSS_SECTION(0, 0, 4)
61   _end = . ;
63   /* Stabs debugging sections.  */
64   .stab 0 : { *(.stab) }
65   .stabstr 0 : { *(.stabstr) }
66   .stab.excl 0 : { *(.stab.excl) }
67   .stab.exclstr 0 : { *(.stab.exclstr) }
68   .stab.index 0 : { *(.stab.index) }
69   .stab.indexstr 0 : { *(.stab.indexstr) }
70   .comment 0 : { *(.comment) }
72   /* Sections to be discarded */
73   DISCARDS