ENTRY(_start) KERNEL_ADDR_OFFSET = 0xC0000000; KERNEL_VADDR_START = 0xC0100000; SECTIONS { . = 1M; KERNEL_PHYSADDR_START = .; .rodata.boot : { *(.rodata.boot) } .text.boot : { *(.text.boot) } . += KERNEL_ADDR_OFFSET; .text ALIGN(4K) : AT (ADDR(.text) - KERNEL_ADDR_OFFSET) { *(.text) } .rodata ALIGN(4K) : AT (ADDR(.rodata) - KERNEL_ADDR_OFFSET) { *(.rodata) } .data ALIGN(4K) : AT (ADDR(.data) - KERNEL_ADDR_OFFSET) { *(.data) } .bss ALIGN(4K) : AT (ADDR(.bss) - KERNEL_ADDR_OFFSET) { *(COMMON) *(.bss) } .bss.stack ALIGN(4K) : AT (ADDR(.bss.stack) - KERNEL_ADDR_OFFSET) { KEEP(*(.bss.stack)) KERNEL_STACK_END = .; } KERNEL_VADDR_END = .; KERNEL_PHYSADDR_END = . - KERNEL_ADDR_OFFSET; }