Kernel - Added untested armv6 tree (mostly copypasta of armv7)
[tpg/acess2.git] / KernelLand / Kernel / arch / armv6 / link.ld
1 ENTRY (_start)
2
3 _kernel_base = 0x80000000;
4 _usertext_vbase = 0xFFFFE000;
5
6 SECTIONS
7 {
8         . = 0;
9         .init :
10         {
11                 *(.init)
12         }
13         . += _kernel_base;
14         .text : AT( ADDR(.text) - _kernel_base )
15         {
16                 *(.text*)
17                 *(.rodata*)
18         }
19         __exidx_start = .;
20         .ARM.exidx   : { *(.ARM.exidx*) }
21         __exidx_end = .;
22         .ARM.extab : { *(.ARM.extab*) }
23                         
24
25         /* HACKS: User accesible .text section */
26         . = ALIGN(0x1000);
27         gUsertextPhysStart = . - _kernel_base;
28         . = _usertext_vbase;
29         .usertext : AT( gUsertextPhysStart )
30         {
31                 *(.usertext)
32         }
33         . += gUsertextPhysStart + _kernel_base - _usertext_vbase;
34         
35         /* 0x4000 (4 pages) alignment needed for root table */
36         .data ALIGN(0x4000) : AT( ADDR(.data) - _kernel_base )
37         {
38                 *(.padata)
39                 *(.data*)
40                 
41                 gKernelSymbols = .;
42                 *(KEXPORT)
43                 gKernelSymbolsEnd = .;
44                 
45                 gKernelModules = .;
46                 *(KMODULES)
47                 gKernelModulesEnd = .;
48         }
49         .bss : AT( ADDR(.bss) - _kernel_base )
50         {
51                 bss_start = .;
52                 *(.bss*)
53                 *(COMMON*)
54                 . = ALIGN(0x1000);
55                 *(.pabss)
56                 bss_end = .;
57         }
58         gKernelEnd = .;
59 }

UCC git Repository :: git.ucc.asn.au