All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/12] s390-ccw bios fixes and clean-ups
@ 2022-06-28 13:10 Thomas Huth
  2022-06-28 13:10 ` [PATCH 01/12] pc-bios/s390-ccw: Add a proper prototype for main() Thomas Huth
                   ` (11 more replies)
  0 siblings, 12 replies; 28+ messages in thread
From: Thomas Huth @ 2022-06-28 13:10 UTC (permalink / raw)
  To: qemu-s390x, Christian Borntraeger, Eric Farman
  Cc: qemu-devel, Cornelia Huck, Janosch Frank

The s390-ccw bios currently fails to boot a guest that has been
installed into a partition on a DASD drive with 4k sectors.
While trying to fix this, I noticed a couple of other problems
and possibilites for clean-ups that this series is trying to
address now.

The first patch is an old one which I already sent out a year
ago, but it got never included since there were no other bios-related
patches pending and this patch alone never justified a bios rebuild.

The main problem (with the bios not getting the geometry right)
comes from the virtio_disk_is_scsi() [sic] function in the file
pc-bios/s390-ccw/virtio-blkdev.c - this more or less always
currently reports that the geometry is wrong for virtio-block
devices, which causes the code to call virtio_assume_scsi() that
sets a "guessed" geometry with 512-byte sectors. To get this fixed
and cleaned up, a couple of other preparing patches were necessary,
which you can find in patches 2 - 5.

While working on the above problem, I also noticed that the virtio
init sequence is not done according to the virtio specification.
It's currently not a problem since QEMU is very forgiving, but we
should clean this up anyway to be sure to avoid future problems. This
is done in patches 6 - 10.

Patch 11 simply beautifies up an oddity in a header, and patch 12
silences a compiler warning with Clang.

I know, it's more than one topic in this series now, but I wanted to
send them out as one series since some of the patches depend on each
other and I've got to rebuild the bios images at the end anyway, so
it's easier to keep everything together.

Thomas Huth (12):
  pc-bios/s390-ccw: Add a proper prototype for main()
  pc-bios/s390-ccw/virtio: Introduce a macro for the DASD block size
  pc-bios/s390-ccw/bootmap: Improve the guessing logic in
    zipl_load_vblk()
  pc-bios/s390-ccw/virtio-blkdev: Simplify/fix
    virtio_ipl_disk_is_valid()
  pc-bios/s390-ccw/virtio-blkdev: Remove virtio_assume_scsi()
  pc-bios/s390-ccw/virtio: Set missing status bits while initializing
  pc-bios/s390-ccw/virtio: Read device config after feature negotiation
  pc-bios/s390-ccw/virtio: Beautify the code for reading virtqueue
    configuration
  pc-bios/s390-ccw: Split virtio-scsi code from
    virtio_blk_setup_device()
  pc-bios/s390-ccw/virtio-blkdev: Request the right feature bits
  pc-bios/s390-ccw/virtio: Remove "extern" keyword from prototypes
  pc-bios/s390-ccw/netboot.mak: Ignore Clang's warnings about GNU
    extensions

 pc-bios/s390-ccw/netboot.mak     |  7 ++-
 pc-bios/s390-ccw/s390-ccw.h      |  1 +
 pc-bios/s390-ccw/virtio-scsi.h   |  2 +-
 pc-bios/s390-ccw/virtio.h        | 16 +++---
 pc-bios/s390-ccw/bootmap.c       | 25 +++++++--
 pc-bios/s390-ccw/main.c          | 27 ++++++----
 pc-bios/s390-ccw/virtio-blkdev.c | 91 +++++---------------------------
 pc-bios/s390-ccw/virtio-scsi.c   | 19 ++++++-
 pc-bios/s390-ccw/virtio.c        | 28 ++++++----
 9 files changed, 103 insertions(+), 113 deletions(-)

-- 
2.31.1



^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2022-07-04  6:42 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-28 13:10 [PATCH 00/12] s390-ccw bios fixes and clean-ups Thomas Huth
2022-06-28 13:10 ` [PATCH 01/12] pc-bios/s390-ccw: Add a proper prototype for main() Thomas Huth
2022-07-01 14:52   ` Eric Farman
2022-06-28 13:10 ` [PATCH 02/12] pc-bios/s390-ccw/virtio: Introduce a macro for the DASD block size Thomas Huth
2022-06-28 13:21   ` Cornelia Huck
2022-07-01 14:53     ` Eric Farman
2022-07-02  6:25     ` Thomas Huth
2022-07-04  6:39       ` Cornelia Huck
2022-06-28 13:10 ` [PATCH 03/12] pc-bios/s390-ccw/bootmap: Improve the guessing logic in zipl_load_vblk() Thomas Huth
2022-07-01 15:36   ` Eric Farman
2022-07-02  6:28     ` Thomas Huth
2022-06-28 13:10 ` [PATCH 04/12] pc-bios/s390-ccw/virtio-blkdev: Simplify/fix virtio_ipl_disk_is_valid() Thomas Huth
2022-07-01 18:22   ` Eric Farman
2022-06-28 13:10 ` [PATCH 05/12] pc-bios/s390-ccw/virtio-blkdev: Remove virtio_assume_scsi() Thomas Huth
2022-07-01 18:25   ` Eric Farman
2022-06-28 13:10 ` [PATCH 06/12] pc-bios/s390-ccw/virtio: Set missing status bits while initializing Thomas Huth
2022-06-28 13:10 ` [PATCH 07/12] pc-bios/s390-ccw/virtio: Read device config after feature negotiation Thomas Huth
2022-06-28 13:25   ` Cornelia Huck
2022-07-01 18:38   ` Eric Farman
2022-06-28 13:10 ` [PATCH 08/12] pc-bios/s390-ccw/virtio: Beautify the code for reading virtqueue configuration Thomas Huth
2022-06-28 13:26   ` Cornelia Huck
2022-07-01 18:38   ` Eric Farman
2022-06-28 13:10 ` [PATCH 09/12] pc-bios/s390-ccw: Split virtio-scsi code from virtio_blk_setup_device() Thomas Huth
2022-07-01 20:25   ` Eric Farman
2022-06-28 13:10 ` [PATCH 10/12] pc-bios/s390-ccw/virtio-blkdev: Request the right feature bits Thomas Huth
2022-06-28 13:10 ` [PATCH 11/12] pc-bios/s390-ccw/virtio: Remove "extern" keyword from prototypes Thomas Huth
2022-06-28 13:34   ` Cornelia Huck
2022-06-28 13:10 ` [PATCH 12/12] pc-bios/s390-ccw/netboot.mak: Ignore Clang's warnings about GNU extensions Thomas Huth

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.