X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Farch%2Fx86_64%2Flink.ld;h=49fe7ae3f1f8705e17552ad748d078a413d32304;hb=5e9042e320d0a24d1691bcd6845936879238e812;hp=cab3c5c11745f28601e7d3c3b5d906fdaa19c8d4;hpb=a79ebcb3a2e206251f44e99376ec2ed6c2bacc63;p=tpg%2Facess2.git diff --git a/Kernel/arch/x86_64/link.ld b/Kernel/arch/x86_64/link.ld index cab3c5c1..49fe7ae3 100644 --- a/Kernel/arch/x86_64/link.ld +++ b/Kernel/arch/x86_64/link.ld @@ -1,16 +1,23 @@ /* - * AcessMicro Kernel + * Acess2 x86_64 Kernel * Linker Script */ -_kernel_base = 0xFFFF800000000000; +/* _kernel_base = 0xFFFF800000000000; */ +/* -2 GiB */ +_kernel_base = 0xFFFFFFFF80000000; -//lowStart = start - _kernel_base; -ENTRY(start) +/* +OUTPUT_FORMAT(elf32-i386) +OUTPUT_ARCH(i386:x86-64) +*/ OUTPUT_FORMAT(elf64-x86-64) +ENTRY(start) SECTIONS { . = 0x100000; + gKernelBase = .; + . += SIZEOF_HEADERS; __load_addr = .; .multiboot : AT(ADDR(.multiboot)) { *(.multiboot) @@ -25,49 +32,33 @@ 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); gKernelModules = .; *(KMODULES) gKernelModulesEnd = .; - . = ALIGN(4); + . = ALIGN(0x10); gKernelSymbols = .; *(KEXPORT) gKernelSymbolsEnd = .; - - - } - /* - .debug_abbrev : { *(.debug_abbrev) } - .debug_info : { *(.debug_info) } - .debug_line : { *(.debug_line) } - .debug_loc : { *(.debug_loc) } - .debug_pubnames : { *(.debug_pubnames) } - .debug_aranges : { *(.debug_aranges) } - .debug_ranges : { *(.debug_ranges) } - .debug_str : { *(.debug_str) } - .debug_frame : { *(.debug_frame) } - */ - - .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; }