[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v6 0/8] Add Qemu to SeaBIOS LCHS interface
From: |
Sam Eiderman |
Subject: |
Re: [Qemu-devel] [PATCH v6 0/8] Add Qemu to SeaBIOS LCHS interface |
Date: |
Wed, 11 Sep 2019 17:36:39 +0300 |
Gentle ping
On Tue, Aug 27, 2019, 11:24 Sam Eiderman <address@hidden> 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
>
> v6:
>
> * Small fixes for issues pointed by Max
> * (&conf->conf)->lcyls to conf->conf.lcyls and so on
> * Remove scsi_unrealize from everything other than scsi-hd
> * Add proper include to sysemu.h
> * scsi_device_unrealize() after scsi_device_purge_requests()
>
> Sam Eiderman (8):
> block: Refactor macros - fix tabbing
> block: Support providing LCHS from user
> bootdevice: Add interface to gather LCHS
> scsi: Propagate unrealize() callback to scsi-hd
> bootdevice: Gather LCHS from all relevant devices
> bootdevice: Refactor get_boot_devices_list
> bootdevice: FW_CFG interface for LCHS values
> hd-geo-test: Add tests for lchs override
>
> bootdevice.c | 148 ++++++++--
> hw/block/virtio-blk.c | 6 +
> hw/ide/qdev.c | 7 +-
> hw/nvram/fw_cfg.c | 14 +-
> hw/scsi/scsi-bus.c | 16 ++
> hw/scsi/scsi-disk.c | 12 +
> include/hw/block/block.h | 22 +-
> include/hw/scsi/scsi.h | 1 +
> include/sysemu/sysemu.h | 4 +
> tests/Makefile.include | 2 +-
> tests/hd-geo-test.c | 582 +++++++++++++++++++++++++++++++++++++++
> 11 files changed, 773 insertions(+), 41 deletions(-)
>
> --
> 2.23.0.187.g17f5b7556c-goog
>
>
- Re: [Qemu-devel] [PATCH v6 0/8] Add Qemu to SeaBIOS LCHS interface,
Sam Eiderman <=