Mark Kettenis: > I wonder though whether we can simply replace ENTRY(start_phys) with > ENTRY(start) like we do on amd64. The bootloader strips the high bits > from the entry point address already, so using the virtual address as > the entry point address should work.
/me builds & boots kernel ... Yes, that works. Index: sys/arch/i386/conf/ld.script =================================================================== RCS file: /cvs/src/sys/arch/i386/conf/ld.script,v retrieving revision 1.9 diff -u -p -r1.9 ld.script --- sys/arch/i386/conf/ld.script 11 Apr 2018 15:44:08 -0000 1.9 +++ sys/arch/i386/conf/ld.script 26 Oct 2018 14:26:37 -0000 @@ -41,9 +41,7 @@ __ALIGN_SIZE = 0x1000; __kernel_base_virt = 0xd0200000 + SIZEOF_HEADERS; __kernel_base_phys = __kernel_base_virt & 0xfffffff; -/* We use physical address to jump to kernel */ -start_phys = LOADADDR(.text) + (start - __kernel_base_virt); -ENTRY(start_phys) +ENTRY(start) SECTIONS { __kernel_text_virt = __kernel_base_virt; -- Christian "naddy" Weisgerber na...@mips.inka.de