Hi Kevin,
On Wed, Aug 12, 2009 at 8:18 AM, Kevin O'Connor <[email protected]> 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
-- coreboot mailing list: [email protected] http://www.coreboot.org/mailman/listinfo/coreboot

