summaryrefslogtreecommitdiff
path: root/Kernel/linker.ld
diff options
context:
space:
mode:
authorLiav A <liavalb@gmail.com>2021-07-18 03:35:26 +0200
committerAndreas Kling <kling@serenityos.org>2021-07-18 17:31:13 +0200
commit5938d882d85e54f498886567217e68c789440d9d (patch)
tree2f806b600324d32ed774b066e2788be8c15758bc /Kernel/linker.ld
parent7e94b090fed491f3ca9c0957e7ed2af8ed2e8468 (diff)
downloadserenity-5938d882d85e54f498886567217e68c789440d9d.zip
Kernel: Use a different kernel load address for x86_64
Co-authored-by: Gunnar Beutner <gbeutner@serenityos.org>
Diffstat (limited to 'Kernel/linker.ld')
-rw-r--r--Kernel/linker.ld105
1 files changed, 0 insertions, 105 deletions
diff --git a/Kernel/linker.ld b/Kernel/linker.ld
deleted file mode 100644
index 899bb6c715..0000000000
--- a/Kernel/linker.ld
+++ /dev/null
@@ -1,105 +0,0 @@
-ENTRY(init)
-
-KERNEL_VIRTUAL_BASE = 0xc0000000;
-
-PHDRS
-{
- boot_text PT_LOAD ;
- boot_bss PT_LOAD ;
- text PT_LOAD ;
- data PT_LOAD ;
- bss PT_LOAD ;
- ksyms PT_LOAD ;
-}
-
-SECTIONS
-{
- . = KERNEL_VIRTUAL_BASE + 0x00100000;
-
- start_of_kernel_image = .;
-
- .boot_text ALIGN(4K) : AT (ADDR(.boot_text) - KERNEL_VIRTUAL_BASE)
- {
- KEEP(*(.boot_text))
- KEEP(*(.multiboot))
- } :boot_text
-
- .boot_bss ALIGN(4K) (NOLOAD) : AT (ADDR(.boot_bss) - KERNEL_VIRTUAL_BASE)
- {
- KEEP(*(.page_tables))
- KEEP(*(.stack))
- *(.super_pages)
- } :boot_bss
-
- .text ALIGN(4K) : AT (ADDR(.text) - KERNEL_VIRTUAL_BASE)
- {
- start_of_kernel_text = .;
-
- start_of_safemem_text = .;
- KEEP(*(.text.safemem))
- end_of_safemem_text = .;
- start_of_safemem_atomic_text = .;
- KEEP(*(.text.safemem.atomic))
- end_of_safemem_atomic_text = .;
-
- *(.text*)
- } :text
-
- .unmap_after_init ALIGN(4K) : AT (ADDR(.unmap_after_init) - KERNEL_VIRTUAL_BASE)
- {
- start_of_unmap_after_init = .;
- *(.unmap_after_init*);
- end_of_unmap_after_init = .;
-
- end_of_kernel_text = .;
- } :text
-
- .rodata ALIGN(4K) : AT (ADDR(.rodata) - KERNEL_VIRTUAL_BASE)
- {
- start_heap_ctors = .;
- *libkernel_heap.a:*(.ctors)
- end_heap_ctors = .;
-
- start_ctors = .;
- *(.ctors)
- end_ctors = .;
-
- *(.rodata*)
- } :data
-
- .data ALIGN(4K) : AT (ADDR(.data) - KERNEL_VIRTUAL_BASE)
- {
- start_of_kernel_data = .;
- *(.data*)
- end_of_kernel_data = .;
- } :data
-
- .ro_after_init ALIGN(4K) (NOLOAD) : AT(ADDR(.ro_after_init) - KERNEL_VIRTUAL_BASE)
- {
- start_of_ro_after_init = .;
- *(.ro_after_init);
- end_of_ro_after_init = .;
- } :data
-
- .bss ALIGN(4K) (NOLOAD) : AT (ADDR(.bss) - KERNEL_VIRTUAL_BASE)
- {
- start_of_kernel_bss = .;
- *(page_tables)
- *(COMMON)
- *(.bss)
- end_of_kernel_bss = .;
-
- . = ALIGN(4K);
- *(.heap)
- } :bss
-
-
- .ksyms ALIGN(4K) : AT (ADDR(.ksyms) - KERNEL_VIRTUAL_BASE)
- {
- start_of_kernel_ksyms = .;
- *(.kernel_symbols)
- end_of_kernel_ksyms = .;
- } :ksyms
-
- end_of_kernel_image = .;
-}