Kernel/x86_64 - Disable full page dump on #PF
[tpg/acess2.git] / KernelLand / Kernel / arch / x86_64 / link.ld
1 /*
2  * Acess2 x86_64 Kernel
3  * Linker Script
4  */
5
6 /* _kernel_base = 0xFFFF800000000000; */
7 /* -2 GiB */
8 _kernel_base = 0xFFFFFFFF80000000;
9
10 /*
11 OUTPUT_FORMAT(elf32-i386)
12 OUTPUT_ARCH(i386:x86-64)
13 */
14 OUTPUT_FORMAT(elf64-x86-64)
15 lstart = start - _kernel_base;
16 ENTRY(lstart)
17
18 SECTIONS {
19         . = 0x100000;
20         gKernelBase = .;
21         . += SIZEOF_HEADERS;
22         __load_addr = .;
23         .multiboot : AT(ADDR(.multiboot)) {
24                 *(.multiboot)
25         }
26         
27         . += _kernel_base;
28         
29         .text ALIGN(0x1000): AT(ADDR(.text) - _kernel_base) {
30                 *(.text)
31         }
32         
33         .usertext ALIGN(0x1000): AT(ADDR(.usertext) - _kernel_base) {
34                 _UsertextBase = .;
35                 *(.usertext)
36                 _UsertextEnd = .;
37         }
38         
39         .rodata ALIGN(0x1000): AT(ADDR(.rodata) - _kernel_base) {
40                 *(.initpd)
41                 *(.rodata .rodata.*)
42                 *(.rdata)
43                 
44                 . = ALIGN(0x10);
45                 gKernelModules = .;
46                 *(KMODULES)
47                 gKernelModulesEnd = .;
48                 . = ALIGN(0x10);
49                 gKernelSymbols = .;
50                 *(KEXPORT)
51                 gKernelSymbolsEnd = .;
52         }
53         
54         .data ALIGN (0x1000) : AT(ADDR(.data) - _kernel_base) {
55                 *(.padata)
56                 *(.data)
57         }
58
59         __bss_start = .;
60         .bss : AT(ADDR(.bss) - _kernel_base) {
61                 *(COMMON)
62                 *(.bss)
63         }
64         gKernelEnd = (. + 0xFFF)&0xFFFFFFFFFFFFF000;
65 }

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