Kevin O'Connor wrote:
Some info on the usb requirements:
Mass storage requirements: The usb drive support looks to be straight
forward. There is a document describing the minimum commands a bios
can expect to have from a drive capable of booting the machine (search
usb_msc_boot_1.0.pdf). It would seem that the 16bit code need only
support sending BulkOut packets and receiving BulkIn packets.
Interrupt support would not be needed, as the bios can poll for
completion of requests.
(Hysterical laughter) Prepare yourself. Sure the basic set of commands
seem simple enough. The devil is in the details. USB mass storage is
ugly. There are so many quirky devices and ones that outright just
don't work within the standard.
However, some middle ground is reachable. At olpc we have a pretty good
compromise of dealing with the quirks while not adding a lot of extra
boot delays and crazy USB hoops. I still answer a lot of support
tickets with "try a different USB drive." though so its far from
perfect. Thankfully most drives are now cheap enough that you can just
try a new one. The XO now works with enough of them that the chance
of the 2nd one working is really high. It took a fair bit of work to
get there though.
Not trying to discourage you but expect a lot of exceptions if you want
to support a wide range of the cheap drives. Get used to hearing "But
it works with Linux/Windows..."
--
Richard A. Smith
[email protected]
--
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot