Kevin O'Connor wrote:
SeaBIOS can be used for booting legacy OS and also Linux is still using CMOS address 0x10 to configure floppy controller. Under these assumptions it makes sense to allow boot from CMOS defined floppy drives.
There was never really a standard for the layout of CMOS nor for the encoding of floppy type.
Ralf Brown's interrupt list disagrees:
--8<-- CMOS.LST ----------R10-------------------------------- CMOS 10h - IBM - FLOPPY DRIVE TYPE Note: a PC having a 5 1/4 1.2 Mb A: drive and a 1.44 Mb B: drive will have a value of 24h in byte 10h. With a single 1.44 drive: 40h.
Bitfields for floppy drives A/B types: Bit(s) Description (Table C0007) 7-4 first floppy disk drive type (see #C0008) 3-0 second floppy disk drive type (see #C0008)
(Table C0008) Values for floppy drive type: 00h no drive 01h 360 KB 5.25 Drive 02h 1.2 MB 5.25 Drive - note: not listed in PS/2 technical manual 03h 720 KB 3.5 Drive 04h 1.44 MB 3.5 Drive 05h 2.88 MB 3.5 drive 06h-0Fh unused SeeAlso: #C0007 -->8--
Currently, SeaBIOS doesn't use CMOS for anything when configured for coreboot mode and I think we should keep it that way.
The first either 15 or 48 bytes are explicitly reserved on all coreboot mainboards and coreboot checksums bytes 16-45 when built to use an option table.
If you have a machine with a floppy drive that you'd like to use with coorboot+SeaBIOS then you can set the "etc/floppy0" or "etc/floppy1" cbfs files to activate support in SeaBIOS.
That's fine, but why reject the de-facto standard method?