[coreboot] option rom progress and some issues
Jason Wang
wangqingpei at gmail.com
Wed Aug 12 04:59:51 CEST 2009
Hi Kevin,
On Wed, Aug 12, 2009 at 8:18 AM, Kevin O'Connor <kevin at koconnor.net> wrote:
> On Wed, Aug 12, 2009 at 03:59:02AM +0800, Jason Wang wrote:
> > Hi all
> > Since USB ROM has already added into the booting menu list(IPL
> table),
> > and the UHCI stack can be run well in usbrom now, i have some issues to
> > confirm, any advices are welcome.
> > 1) <<Plug and Play BIOS Specification>>Page21, There is an r Return
> Status
> > from Initialization Call of OPTION ROM. Which used to let the bios know
> the
> > status. But it seems Seabios does not
> > check the return code. Is that OK?
>
> SeaBIOS assumes the rom runs successfully - I think that is okay. If
> you wish to unload the optionrom, set its size to 0.
>
> > 2) After Seabios make an far call into the BEV, the OPTION ROM should
> begin
> > to load OS.if it failed, it can return back to BIOS. But it can not
> return
> > back with my USB OPTION ROM, Is there any configuration
> > I should set?
>
> You should not use BEV; you should use a BCV.
>
I use a BCV now, sorry for messing this two types. Which i use is BCV.
I tried to put only an "lretw" in BCV. but still failed.
>
> I don't know why you can't return - it should work. Maybe the stack
> or gdt/idt was changed?
>
> > 3) In my eyes, OPTION ROM hook int13 after jump into BEV, not in the
> > initialization.But after that how does it jump into the booting code
> which
> > located in the USB disk?
>
> As above, define a BCV and hook int13 from the BCV handler.
>
So, BCV handler is used to hook int13, anything else that BCV should do?
>
> SeaBIOS will make int13 calls to load the OS and boot it. As long as
> your rom can handle the int13 calls, SeaBIOS will be able to boot an
> OS from usb.
>
> > BTW:
> > Kevin: I looked the code of Seabios ata.c to learn how seabios booting
> OS
> > from ata disk. some question i have:
> > 1) ATA used add_bcv_hd to add ata disk into IPL table. it's type is
> > IPL_TYPE_HARDDISK(0x02). It's vector is the driver id. how does seabios
> know
> > the bootstrap vector based the driver ID?
>
> add_bcv_hd() adds the drive to the BCV table, not the IPL table.
>
>
> SeaBIOS populates the BCV table with built-in harddrives and
> optionroms with a BCV.
>
> > what does ata fill FDPT area for? Should my usbrom do the same?
>
> It's some weird legacy thing. Nothing modern will require it. I
> don't know what legacy things will break without it.
>
> > For my usbrom, i should not use add_bcv to add option rom into IPL ? or
> just
> > take the ata as example?
>
> As above, you should use a BCV.
>
> >
> > --
> > Jason Wang
> > Peking University
>
> -Kevin
>
--
Jason Wang
Peking University
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20090812/0a26a70a/attachment.html>
More information about the coreboot
mailing list