On Sun, May 16, 2010 at 11:08:57AM +0300, Gleb Natapov wrote:
On Sat, May 15, 2010 at 05:17:31PM +0200, Sebastian Herbszt wrote:
What the BIOS should do or not doesn't seem to be defined anywhere (yet). Current drives with physical sector size > 512 bytes report a logical sector size of 512 bytes and do the emulation on their own. The BIOS doesn't need to be modified so far to support those drives. If drives with logical sector size > 512 bytes appear this situation might change. Doing a read emulation
Isn't it chicken n' egg situation. If BIOSes will not add 4K block support drives will never be able to use 4K logical blocks.
It was my understanding that new drives will start up in an emulation mode which uses 512 byte sectors. Later on the OS can activate the native sector size.
This also raises a possibility for virtio - maybe a new command or flag could be added to temporarily support 512 byte reads. Thus the main OS wont be penalized, and the bios wont have to emulate the reads (the host will do it instead). That said, I'm not against a patch which generalizes the SeaBIOS cdemu block conversion code for virtio if you wish to do that. (It will reserve more memory, but I doubt anyone using virtio will care.)
-Kevin