On Thu, Aug 13, 2009 at 7:24 AM, Kevin O'Connor kevin@koconnor.net wrote:
On Thu, Aug 13, 2009 at 02:22:05AM +0800, Jason Wang wrote:
On Wed, Aug 12, 2009 at 9:17 PM, Kevin O'Connor kevin@koconnor.net
wrote:
On Wed, Aug 12, 2009 at 03:29:06PM +0800, Jason Wang wrote:
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?
SeaBIOS is overloading those flags, and I agree it's confusing. The flags for BCV tables are only used in run_bcv(), add_bcv(), and add_bcv_hd(). It's not necessary to add a new flag.
I find that handle_19, do_boot only seek the BEV devices
That is correct.
The BEVs are the ways one can boot the machine and the BCVs are the drives in the machine.
SeaBIOS has a BEV for booting off of a drive (see boot_disk()). You should not add a new way to boot from a drive - instead you want to add a new drive.
The BCV list is executed during post (see boot_prep()). SeaBIOS will call all the optionroms that have BCVs and they can then hook int13. Once int13 has been properly hooked, the existing SeaBIOS drive booting code will work.
I still have questions about the BCVs. 1) The BCVs is used to hook int13 while being called by optionrom.What if the usbrom failed,and system should restore int13. Or the BCVs should do that? 2)As you mentioned the BCVs are the drivers in the machine. How does the BCV save the drives in the memroy which can be used by Seabios? Since after BCVs turning back to Seabios, it can leave some data to Seabios? 3) i want to know if the int13 should initialize the USB stack each time it is called?
-Kevin