ENTRY(_start) SECTIONS { /* 0x00000500 - 0x00007BFF : guaranteed free to use */ /* smp code at 0x7000*/ . = 0x00007000; kernel_start = .; .multiboot BLOCK(4K) : ALIGN(4K) { asm/asm_start.o(.smp) asm/asm_mp.o *(.multiboot) } /* 0x00007E00 0x0007FFFF 480.5 KiB RAM (guaranteed free for use) Conventional memory 0x00080000 0x0009FBFF approximately 120 KiB, depending on EBDA size RAM (free for use, if it exists) Conventional memory */ /* 0x00100000 - 0x00EFFFFF : free for use (if it exists) 14Mib */ . = 0x00100000; /* _start code as 0x100000 and rest of code*/ .text BLOCK(4K): ALIGN(4K) { *(.multiboot) *(.text) } /* Read-only data. */ .rodata BLOCK(4K) : ALIGN(4K) { *(.rodata) } /* Read-write data (initialized) */ .data BLOCK(4K) : ALIGN(4K) { *(.data) } /* Read-write data (uninitialized) and stack */ .bss BLOCK(4K) : ALIGN(4K) { *(.bootstrap_stack) *(COMMON) *(.bss) } kernel_end = .; }