From 15dfcd84a1330d9b53bd84db38c917c79412836d Mon Sep 17 00:00:00 2001 From: Ian Moffett Date: Sat, 13 Sep 2025 19:48:09 -0400 Subject: project: Use limine as headstart Signed-off-by: Ian Moffett --- src/sys/arch/amd64/conf/sys.ld | 59 +++++++++++++++++++++++++----------------- 1 file changed, 35 insertions(+), 24 deletions(-) (limited to 'src/sys/arch/amd64/conf/sys.ld') diff --git a/src/sys/arch/amd64/conf/sys.ld b/src/sys/arch/amd64/conf/sys.ld index b5d1cf0..5b7c7fc 100644 --- a/src/sys/arch/amd64/conf/sys.ld +++ b/src/sys/arch/amd64/conf/sys.ld @@ -1,35 +1,46 @@ -ENTRY(_start) +OUTPUT_FORMAT(elf64-x86-64) +OUTPUT_ARCH(i386:x86-64) +ENTRY(__bsp_entry) -SECTIONS { - . = 1M; +PHDRS +{ + text PT_LOAD FLAGS((1 << 0) | (1 << 2)) ; + rodata PT_LOAD FLAGS((1 << 2)) ; + data PT_LOAD FLAGS((1 << 1) | (1 << 2)) ; +} - .boot : - { - *(.multiboot_header) - } +SECTIONS +{ + . = 0xFFFFFFFF80000000; - . = ALIGN(4K); - .text : - { + .text : { *(.text .text.*) - } + } :text - . = ALIGN(4K); - .rodata : - { + . += CONSTANT(MAXPAGESIZE); + + .rodata : { *(.rodata .rodata.*) - } + } :rodata - . = ALIGN(4K); - .data : - { - *(.data .data.*) - } + . += CONSTANT(MAXPAGESIZE); - . = ALIGN(4K); - .bss : - { + .data : { + *(.data) + } :data + + .bss : { + *(COMMON) *(.bss .bss.*) + } :data + + . = ALIGN(64); + .data.cacheline_aligned : { + *(.data.cacheline_aligned) } -} + /DISCARD/ : { + *(.eh_frame .eh_frame.*) + *(.note .note.*) + } +} -- cgit v1.2.3