indigoos/src/link.ld
2021-08-29 02:52:48 -05:00

36 lines
993 B
Plaintext

SEARCH_DIR(objects)
_txt_vaddr = 0xffffffff80000000;
_pmem_vaddr = 0xffff800000000000;
_meminfo = 0x7000;
_vbe_infoblock = 0x500;
SECTIONS
{
bootloader 0x7c00 : AT(0)
{
bootloader.o(.text)
}
smp_bootloader 0x8000 :
AT(0 + SIZEOF(bootloader))
{
smp_trampoline.o(.text)
}
kernel _txt_vaddr :
AT (0 + SIZEOF(smp_bootloader) + SIZEOF(bootloader))
{
EXCLUDE_FILE (*bootloader.o *smp_trampoline.o) *(.text .data .bss .rodata .comment .eh_frame)
}
}
_kernel_sector_size = ((SIZEOF(kernel) + 511) / 512);
_kernel_page_size = ((SIZEOF(kernel) + 0xfff) / 0x1000);
_bootloader_stage1_size = (SIZEOF(bootloader) + SIZEOF(smp_bootloader) + 511) / 512;
__load_start_smp_bootloader = LOADADDR(smp_bootloader) + 0x7c00;
__load_stop_smp_bootloader = LOADADDR(smp_bootloader) + SIZEOF(smp_bootloader) + 0x7c00;
_kernel_stack_loc = (0x100000 + (_kernel_page_size * 0x1000) + 0x2000) - 8;
_kernel_shared_zone_begin = 0x100000 + (_kernel_page_size * 0x1000) + 0x2000;