qemu-s390x
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [qemu-s390x] [PATCH v4 00/15] s390: vfio-ccw dasd ipl support


From: Cornelia Huck
Subject: Re: [qemu-s390x] [PATCH v4 00/15] s390: vfio-ccw dasd ipl support
Date: Mon, 11 Mar 2019 18:33:41 +0100

On Mon, 11 Mar 2019 11:21:18 -0400
"Jason J. Herne" <address@hidden> wrote:

> This is to support booting from vfio-ccw dasd devices. We basically implement
> the real hardware ipl procedure. This allows for booting Linux guests on
> vfio-ccw devices.
> 
> vfio-ccw's channel program prefetch algorithm complicates ipl because most ipl
> channel programs dynamically modify themselves. Details on the ipl process and
> how we worked around this issue can be found in docs/devel/s390-dasd-ipl.txt.
> 
> *********************
> NOTE: Newer DASD units which initially present as control unit type 3990 may 
> in
> fact really be 2107. Some operating systems may enable 2107 features for these
> devices thereby making sense id return a control unit type of 2107. I've added
> support for control unit type 2107 so we can ipl from these devices.
> *********************

Ugh. I'd have hoped that would have been recognized as A Bad Idea the
last time we had a design like that...

Does that cu type switch persist over subchannel enable/disable?
Subsystem reset?

> 
> Changelog
> ==========
> v4
> 01/16: s390 vfio-ccw: Add bootindex property and IPLB data
> - Adding CCW_DEVTYPE_VIRTIO_NET type.
> - s390_get_ccw_device can now accept a NULL devtype argument
> - Other minor refactors
> 
> 06/16: s390-bios: Clean up cio.h
> - Remove whitespace changes to cmd_orb struct
> 
> 07/16: s390-bios: Decouple channel i/o logic from virtio
> - Fix copyright line
> 
> 08/16: s390-bios: Map low core memory
> - Remove Lowcore entries >= 0x200
> - Repositioned const keywords
> 
> 09/16: s390-bios: ptr2u32 and u32toptr
> - Add assert to ensure pointer being converted to u32 is below 32 bits in 
> length
> - Add missing copyright comment
> 
> 10/16: s390-bios: Support for running format-0/1 channel programs
> - basic_sense now calls __do_cio instead of do_cio. Further protection from
>   infinite recursion.
> - __do_cio now asks for retry for subchannel busy case.
> - Minor fixups to comments and message wording
> - start.S: Formating and register naming cleanups
> - Added CU_TYPE_DASD_2107
> 
> 11/16: s390-bios: cio error handling
> - Only print sense data when it is provided
> 
> 15/16:
> - Added support for CU_TYPE_DASD_2107
> 
> 16/16:
> - Merged with various earlier patches
> 
> Jason J. Herne (15):
>   s390 vfio-ccw: Add bootindex property and IPLB data
>   s390-bios: decouple cio setup from virtio
>   s390-bios: decouple common boot logic from virtio
>   s390-bios: Extend find_dev() for non-virtio devices
>   s390-bios: Factor finding boot device out of virtio code path
>   s390-bios: Clean up cio.h
>   s390-bios: Decouple channel i/o logic from virtio
>   s390-bios: Map low core memory
>   s390-bios: ptr2u32 and u32toptr
>   s390-bios: Support for running format-0/1 channel programs
>   s390-bios: cio error handling
>   s390-bios: Refactor virtio to run channel programs via cio
>   s390-bios: Use control unit type to determine boot method
>   s390-bios: Add channel command codes/structs needed for dasd-ipl
>   s390-bios: Support booting from real dasd device
> 
>  MAINTAINERS                  |   2 +
>  docs/devel/s390-dasd-ipl.txt | 133 ++++++++++++++
>  hw/s390x/ipl.c               |  61 +++++--
>  hw/s390x/s390-ccw.c          |   9 +
>  hw/vfio/ccw.c                |   2 +-
>  include/hw/s390x/s390-ccw.h  |   1 +
>  include/hw/s390x/vfio-ccw.h  |  28 +++
>  pc-bios/s390-ccw/Makefile    |   2 +-
>  pc-bios/s390-ccw/cio.c       | 423 
> +++++++++++++++++++++++++++++++++++++++++++
>  pc-bios/s390-ccw/cio.h       | 270 +++++++++++++++++++++------
>  pc-bios/s390-ccw/dasd-ipl.c  | 250 +++++++++++++++++++++++++
>  pc-bios/s390-ccw/dasd-ipl.h  |  16 ++
>  pc-bios/s390-ccw/helper.h    |  31 ++++
>  pc-bios/s390-ccw/libc.h      |  11 ++
>  pc-bios/s390-ccw/main.c      | 161 ++++++++++------
>  pc-bios/s390-ccw/netboot.mak |   2 +-
>  pc-bios/s390-ccw/netmain.c   |   2 +
>  pc-bios/s390-ccw/s390-arch.h | 103 +++++++++++
>  pc-bios/s390-ccw/s390-ccw.h  |  10 +-
>  pc-bios/s390-ccw/start.S     |  29 +++
>  pc-bios/s390-ccw/virtio.c    |  73 ++------
>  tests/boot-serial-test.c     |   2 +-
>  22 files changed, 1425 insertions(+), 196 deletions(-)
>  create mode 100644 docs/devel/s390-dasd-ipl.txt
>  create mode 100644 include/hw/s390x/vfio-ccw.h
>  create mode 100644 pc-bios/s390-ccw/cio.c
>  create mode 100644 pc-bios/s390-ccw/dasd-ipl.c
>  create mode 100644 pc-bios/s390-ccw/dasd-ipl.h
>  create mode 100644 pc-bios/s390-ccw/helper.h
>  create mode 100644 pc-bios/s390-ccw/s390-arch.h
> 
> --
> 2.7.4
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]