Re: [RFC] x86 ELF bootable kernels/Linux booting Linux/LinuxBIOS

From: Eric W. Biederman (ebiederm@xmission.com)
Date: Wed Jan 30 2002 - 21:31:05 EST


"H. Peter Anvin" <hpa@zytor.com> writes:

> Followup to: <m1elk7d37d.fsf@frodo.biederman.org>
> By author: ebiederm@xmission.com (Eric W. Biederman)
> In newsgroup: linux.dev.kernel
> >
> > - Code at that entry point to query from the firmware/BIOS the
> > information the kernel needs.
> >
>
> How do you query from the 16-bit firmware/BIOS at the 32-bit
> entrypoint? Or is it that you have a table, fixed by protocol, of
> what information is available (so we're basically fucked when
> something needs to change)?

I drop back into real mode. Run the existing query code, (I had to factor
setup.S but the queries are 100% the same) and then I climb back to
32bit mode. But I do it from setup_arch() so if I don't have a
pcbios, I can skip all that nasty busyness.

I did it the wrong way (fixed table) initially and after some
conversations with you and some thinking I changed it around.

There is nothing outside the ELF specification that needs to be used.
All I depend on is having flat 32bit code and data segments, initially
loaded in %cs and %ds. So basically anyones x86 ELF bootloader should
work.

I have defined a fully optional table of tagged elements, so the
bootloader can tell me what kind of firmware I have. All it passes
besides that is the bootloader name and the bootloader version. So
you must do the bios queries yourself.

Eric
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Jan 31 2002 - 21:01:30 EST