[coreboot] option rom progress and some issues
wangqingpei at gmail.com
Wed Aug 12 04:59:51 CEST 2009
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
> > 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
> > from Initialization Call of OPTION ROM. Which used to let the bios know
> > 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
> > to load OS.if it failed, it can return back to BIOS. But it can not
> > 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
> > 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
> > 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
> > 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
> > take the ata as example?
> As above, you should use a BCV.
> > --
> > Jason Wang
> > Peking University
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the coreboot