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