1 #include "threads/loader.h"
3 OUTPUT_FORMAT("elf32-i386")
5 ENTRY(start) /* Kernel starts at "start" symbol. */
8 /* Specify the kernel base address. */
9 _start = LOADER_PHYS_BASE + LOADER_KERN_BASE;
11 /* Make room for the ELF headers. */
12 . = _start + SIZEOF_HEADERS;
14 /* Kernel starts with code, followed by read-only data and writable data. */
15 .text : { *(.start) *(.text) } = 0x90
16 .rodata : { *(.rodata) *(.rodata.*)
18 _end_kernel_text = .; }
20 _signature = .; LONG(0xaa55aa55) }
22 /* BSS (zero-initialized data) is after everything else. */
29 ASSERT (_end - _start <= 512K, "Kernel image is too big.")