All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cornelia Huck <cohuck@redhat.com>
To: "Jason J. Herne" <jjherne@linux.ibm.com>
Cc: qemu-devel@nongnu.org, qemu-s390x@nongnu.org, thuth@redhat.com,
	pasic@linux.ibm.com, alifm@linux.ibm.com, borntraeger@de.ibm.com
Subject: Re: [Qemu-devel] [PATCH v4 00/15] s390: vfio-ccw dasd ipl support
Date: Mon, 11 Mar 2019 18:33:41 +0100	[thread overview]
Message-ID: <20190311183341.62500ec1.cohuck@redhat.com> (raw)
In-Reply-To: <1552317693-21979-1-git-send-email-jjherne@linux.ibm.com>

On Mon, 11 Mar 2019 11:21:18 -0400
"Jason J. Herne" <jjherne@linux.ibm.com> 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
> 

  parent reply	other threads:[~2019-03-11 17:38 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-11 15:21 [Qemu-devel] [PATCH v4 00/15] s390: vfio-ccw dasd ipl support Jason J. Herne
2019-03-11 15:21 ` [Qemu-devel] [PATCH v4 01/15] s390 vfio-ccw: Add bootindex property and IPLB data Jason J. Herne
2019-03-11 15:21 ` [Qemu-devel] [PATCH v4 02/15] s390-bios: decouple cio setup from virtio Jason J. Herne
2019-03-11 17:36   ` Cornelia Huck
2019-03-11 15:21 ` [Qemu-devel] [PATCH v4 03/15] s390-bios: decouple common boot logic " Jason J. Herne
2019-03-11 15:21 ` [Qemu-devel] [PATCH v4 04/15] s390-bios: Extend find_dev() for non-virtio devices Jason J. Herne
2019-03-11 15:21 ` [Qemu-devel] [PATCH v4 05/15] s390-bios: Factor finding boot device out of virtio code path Jason J. Herne
2019-03-11 15:21 ` [Qemu-devel] [PATCH v4 06/15] s390-bios: Clean up cio.h Jason J. Herne
2019-03-11 15:21 ` [Qemu-devel] [PATCH v4 07/15] s390-bios: Decouple channel i/o logic from virtio Jason J. Herne
2019-03-11 17:39   ` Cornelia Huck
2019-03-11 15:21 ` [Qemu-devel] [PATCH v4 08/15] s390-bios: Map low core memory Jason J. Herne
2019-03-11 15:21 ` [Qemu-devel] [PATCH v4 09/15] s390-bios: ptr2u32 and u32toptr Jason J. Herne
2019-03-11 15:21 ` [Qemu-devel] [PATCH v4 10/15] s390-bios: Support for running format-0/1 channel programs Jason J. Herne
2019-03-11 15:21 ` [Qemu-devel] [PATCH v4 11/15] s390-bios: cio error handling Jason J. Herne
2019-03-11 15:21 ` [Qemu-devel] [PATCH v4 12/15] s390-bios: Refactor virtio to run channel programs via cio Jason J. Herne
2019-03-11 15:21 ` [Qemu-devel] [PATCH v4 13/15] s390-bios: Use control unit type to determine boot method Jason J. Herne
2019-03-11 15:21 ` [Qemu-devel] [PATCH v4 14/15] s390-bios: Add channel command codes/structs needed for dasd-ipl Jason J. Herne
2019-03-11 15:21 ` [Qemu-devel] [PATCH v4 15/15] s390-bios: Support booting from real dasd device Jason J. Herne
2019-03-11 15:57 ` [Qemu-devel] [PATCH v4 00/15] s390: vfio-ccw dasd ipl support no-reply
2019-03-11 16:11 ` no-reply
2019-03-11 16:16 ` no-reply
2019-03-11 16:20 ` no-reply
2019-03-11 16:24 ` no-reply
2019-03-11 16:29 ` no-reply
2019-03-11 17:33 ` Cornelia Huck [this message]
2019-03-11 17:35   ` Jason J. Herne
2019-03-11 17:49 ` no-reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190311183341.62500ec1.cohuck@redhat.com \
    --to=cohuck@redhat.com \
    --cc=alifm@linux.ibm.com \
    --cc=borntraeger@de.ibm.com \
    --cc=jjherne@linux.ibm.com \
    --cc=pasic@linux.ibm.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.