[coreboot] option rom progress and some issues

Jason Wang wangqingpei at gmail.com
Wed Aug 12 09:29:06 CEST 2009


Hi Kevin,
    The Seabios try to booting usbrom with IPL_TYPE_BEV, which i think
should use IPL_TYPE_HARDDISK, right? Followed by BIOS BOOT Specification
I think it can add
#define IPL_TYPE_USBROM 0x05 to support BCV, how do you think about that?

On Wed, Aug 12, 2009 at 10:59 AM, Jason Wang <wangqingpei at gmail.com> wrote:

> 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
>



-- 
Jason Wang
Peking University
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20090812/fcde89e0/attachment.html>


More information about the coreboot mailing list