X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Farch%2Fx86_64%2Flink.ld;h=49fe7ae3f1f8705e17552ad748d078a413d32304;hb=6e41a8a3aa767cd5aeddbad393ce4f637a47a367;hp=b688c7ad6f91c9d53a89b433f53da88d2b8c030b;hpb=e939fc0ced4d445c24696636fe660dddbe035b1c;p=tpg%2Facess2.git diff --git a/Kernel/arch/x86_64/link.ld b/Kernel/arch/x86_64/link.ld index b688c7ad..49fe7ae3 100644 --- a/Kernel/arch/x86_64/link.ld +++ b/Kernel/arch/x86_64/link.ld @@ -3,11 +3,16 @@ * Linker Script */ -_kernel_base = 0xFFFF800000000000; +/* _kernel_base = 0xFFFF800000000000; */ +/* -2 GiB */ +_kernel_base = 0xFFFFFFFF80000000; +/* OUTPUT_FORMAT(elf32-i386) OUTPUT_ARCH(i386:x86-64) -ENTRY (start) +*/ +OUTPUT_FORMAT(elf64-x86-64) +ENTRY(start) SECTIONS { . = 0x100000; @@ -27,12 +32,12 @@ SECTIONS { .usertext ALIGN(0x1000): AT(ADDR(.usertext) - _kernel_base) { _UsertextBase = .; *(.usertext) + _UsertextEnd = .; } - _UsertextEnd = .; .rodata ALIGN(0x1000): AT(ADDR(.rodata) - _kernel_base) { *(.initpd) - *(.rodata) + *(.rodata .rodata.*) *(.rdata) . = ALIGN(0x10); @@ -45,20 +50,15 @@ SECTIONS { gKernelSymbolsEnd = .; } - .padata ALIGN (0x1000) : AT(ADDR(.padata) - _kernel_base) { - *(.padata) - } - .data ALIGN (0x1000) : AT(ADDR(.data) - _kernel_base) { + *(.padata) *(.data) } __bss_start = .; .bss : AT(ADDR(.bss) - _kernel_base) { - _sbss = .; *(COMMON) *(.bss) - _ebss = .; } gKernelEnd = (. + 0xFFF)&0xFFFFFFFFFFFFF000; }