On Thu, Oct 26, 2006 at 03:42:34PM -0400, John Baldwin wrote:
> On Thursday 26 October 2006 15:18, Ruslan Ermilov wrote:
> > On Thu, Oct 26, 2006 at 11:38:24AM -0400, John Baldwin wrote:
> > > On Thursday 26 October 2006 10:42, Ruslan Ermilov wrote:
> > > > On Thu, Oct 26, 2006 at 10:28:09AM -0400, John Baldwin wrote:
> > > > > boot2 should do whatever loader does.
> > > > >
> > > > But this would be a regression, since loader(8) does the following,
> > > > in the ELF32 case:
> > > >
> > > > : 0 edoofus:ttyp2:/sys/boot/i386/libi386 >grep -w entry elf32_freebsd.c
> > > > : vm_offset_t entry, bootinfop, modulep, kernend;
> > > > : entry = ehdr->e_entry & 0xffffff;
> > > > : printf("Start @ 0x%lx ...\n", entry);
> > > > : __exec((void *)entry, boothowto, bootdev, 0, 0, 0, bootinfop,
> > > > modulep, kernend);
> > >
> > > Ah, ok. Make them both just mask the top 8 bits then. :)
> > >
> > OK, I backed out your change to boot2.c.
>
> Sorry, I meant that both boot2 and loader should follow your proposal of
> masking 28 bits.
> Just masking the top 4 bits is probably sufficient.
>
:-)OK, I'll craft a patch tomorrow. This will also require patching at least sys/boot/common/load_elf.c:__elfN(loadimage), maybe something else. I think we could actually mask 30 bits; that would allow to load 1G kernels, provided that sufficient memory exists. Cheers, -- Ruslan Ermilov [EMAIL PROTECTED] FreeBSD committer
pgp5j705mSAeB.pgp
Description: PGP signature
