Thanks Gerd, Gentle ping on this.
Sam > On 1 Jul 2019, at 10:41, Gerd Hoffmann <kra...@redhat.com> wrote: > > On Wed, Jun 26, 2019 at 03:39:40PM +0300, Sam Eiderman wrote: >> v1: >> >> Non-standard logical geometries break under QEMU. >> >> A virtual disk which contains an operating system which depends on >> logical geometries (consistent values being reported from BIOS INT13 >> AH=08) will most likely break under QEMU/SeaBIOS if it has non-standard >> logical geometries - for example 56 SPT (sectors per track). >> No matter what QEMU will guess - SeaBIOS, for large enough disks - will >> use LBA translation, which will report 63 SPT instead. >> >> In addition we can not enforce SeaBIOS to rely on phyiscal geometries at >> all. A virtio-blk-pci virtual disk with 255 phyiscal heads can not >> report more than 16 physical heads when moved to an IDE controller, the >> ATA spec allows a maximum of 16 heads - this is an artifact of >> virtualization. >> >> By supplying the logical geometies directly we are able to support such >> "exotic" disks. >> >> We will use fw_cfg to do just that. >> >> v2: >> >> Fix missing parenthesis check in >> "hd-geo-test: Add tests for lchs override" >> >> v3: >> >> * Rename fw_cfg key to "bios-geometry". >> * Remove "extendible" interface. >> * Add cpu_to_le32 fix as Laszlo suggested or big endian hosts >> * Fix last qtest commit - automatic docker tester for some reason does not >> have qemu-img set >> >> v4: >> >> * Change fw_cfg interface from mixed textual/binary to textual only >> >> v5: >> >> * Fix line > 80 chars in tests/hd-geo-test.c > > Reviewed-by: Gerd Hoffmann <kra...@redhat.com> > > cheers, > Gerd >