/* Kernel entry function */ ENTRY(_start) OUTPUT_FORMAT(elf32-i386) SECTIONS { /DISCARD/ : { *(".text.inlined*") *(.comment) *(.eh_frame) *(.note.gnu.build-id) } /* Set kernel start address */ . = 0x100000; /* Code and readonly data */ .text : { /* fill gaps with int3 opcode to detect invalid jumps */ FILL(0xcc) /* multiboot header */ multiboot_header = .; KEEP (*(".rodata.multiboot")) /* /\* fixed address for IRQ handlers *\/ */ /* . = 0x1000; */ /* /\* start of interrupt handlers *\/ */ /* _stext_irqs = .; */ /* /\* IRQ Handlers *\/ */ /* KEEP (*(".text.irqhandlers*")) /\* ASM *\/ */ /* KEEP (*(".text.irq_handler*")) /\* C *\/ */ /* *(".text.isrs*") /\* C *\/ */ /* *(".text.isr_*") /\* C *\/ */ /* KEEP (*(".text.OSEKOS_ISR*")) */ /* KEEP (*(".text.idt")) /\* ASM *\/ */ /* /\* sysenter handler *\/ */ /* KEEP (*(".text.sysenter_syscall")) */ /* _etext_irqs = .; */ /* . += 16; /\* padding after data, workaround for import-trace *\/ */ KEEP (*(".text.startup")) /* place before .text, otherwise they'll be caught by the wildcard */ _wamr_aot_start = .; *(".text.wamr_aot") _wamr_aot_end = .; _wamr_mmap_start = .; *(".text.wamr_mmap") _wamr_mmap_end = .; _wamr_runtime_pool_start = .; *(".text.wamr_runtime_pool") _wamr_runtime_pool_end = .; _wamr_linear_pool_start = .; *(".text.wamr_linear_pool") _wamr_linear_pool_end = .; _wamr_global_heap_start = .; *(".text.wamr_global_heap") _wamr_global_heap_end = .; _text_start = .; *(".text*") _text_end = .; *(".rodata*") } /* Data and Stacks */ /* NOTE: When including the WAMR mmap region inside .text, it has to be large */ /* . = 0x200000; */ . = ALIGN(4096); .data : { KEEP (*(".startup_stack")) KEEP (*(".kernel_stack")) *(".data*") } /* Uninitialized data */ .bss : { _sbss = .; *(.bss*) *(COMMON) _ebss = .; } /* Align and mark end of all sections — heap starts here */ . = ALIGN(4096); _end = .; /* Memory-mapped I/O APIC */ _sioapic = 0xFEC00000; ioapic = 0xFEC00000; _eioapic = 0xFEC00FFF; /* Memory-mapped Local APIC */ _slapic = 0xFEE00000; lapic = 0xFEE00000; _elapic = 0xFEE00FFF; }