Date: Sun, 28 Sep 2014 09:36:27 -0700 From: Rui Paulo <rpaulo@me.com> To: Ian Lepore <ian@FreeBSD.org> Cc: freebsd-arm@freebsd.org, Russell Haley <russ.haley@gmail.com> Subject: Re: Digi CCWMX53 Message-ID: <44EB751E-E53F-46C8-809C-655002C57BC6@me.com> In-Reply-To: <1411917685.66615.309.camel@revolution.hippie.lan> References: <CABx9NuQr%2BdEb_yj3ypEe6Sb_qPY%2BqP74n0x1K5=_K6Zoio2vkw@mail.gmail.com> <C439A1ED-8AA0-4CA5-B375-D80E8BD4C624@me.com> <CABx9NuQH36gyh1cT06fN7eJLZhrByzWpJH-RN8kb7hJi2ad9xw@mail.gmail.com> <42B4958F-21B2-4ABB-82C9-3F0B328EFED0@me.com> <1411917685.66615.309.camel@revolution.hippie.lan>
index | next in thread | previous in thread | raw e-mail
On Sep 28, 2014, at 08:21, Ian Lepore <ian@FreeBSD.org> wrote: > We can use bootelf on ubldr, but not on the kernel, because our kernel > linker script doesn't fill in the physical load address properly in the > elf header (it would try to load the virtual address). > > So the two options for launching the kernel directly are: > > load kernel; go <load address + 100> > load kernel.bin; go <load address> > > The standard no-suffix kernel file is an elf binary with the wrong load > address in the header, and the header is 0x100 bytes, so the entry point > is immediately after that. The kernel.bin file is exactly the same as > kernel, but with the elf header stripped off, so the entry point is at > an offset of zero. > > An interesting thing about our kernel is that it can be loaded at any > 1MB boundary in physical memory, not just the address it was linked at. > There's no way to represent that in an elf header. This is true of both > kernel and kernel.bin. Ah, I think I made it work once when I set the KERNPHYS (or KERNVIRT?) to match the load address. -- Rui Paulohelp
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44EB751E-E53F-46C8-809C-655002C57BC6>
