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,
	pasic@linux.ibm.com, borntraeger@de.ibm.com,
	Thomas Huth <thuth@redhat.com>,
	Eric Farman <farman@linux.ibm.com>,
	Farhan Ali <alifm@linux.ibm.com>
Subject: Re: [Qemu-devel] [PATCH 00/15] s390: vfio-ccw dasd ipl support
Date: Wed, 12 Dec 2018 15:34:26 +0100	[thread overview]
Message-ID: <20181212153426.2ca5a481.cohuck@redhat.com> (raw)
In-Reply-To: <1544623878-11248-1-git-send-email-jjherne@linux.ibm.com>

On Wed, 12 Dec 2018 09:11:03 -0500
"Jason J. Herne" <jjherne@linux.ibm.com> wrote:

Hm, I think you need to adjust your cc: list. I added some more folks
(and removed Dong Jia, whose address is no longer valid AFAIK).

> 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: It has been a while, but I've finally chased down my infamous "reset bug".
> On subsystem reset (I see this right after host ipl) we sometimes end up getting
> an unexpected unit check status from a dasd device. This causes the first start
> subchannel instruction to fail due to the pending unit check status. My solution
> to this problem, as advised by the kernel folks, is to simply retry my ssch
> instructions before declaring failure when unexpected unit checks happen. In the
> event of a persistent error, after two retries we'll give up and print some
> useful error info for the user.

So, is that a status we only see because the vfio-ccw driver keeps the
subchannel enabled (as by the other recent thread)?

Is there any value in distinguishing different unit checks, or is retry
the best strategy in any case?

> 
> Changelog
> ==========
> 
> rfc -> v1
> ---------
> - Retry start subchannel operations on unexpected unit check status
> - Print more complete state information on i/o error
> - Fixed asm constraints (Q -> QS)
> - Align lowcore to 8k boundary
> - Initialize next_cpa in run_dynamic_ccw_program to avoid compiler warning
> - Cleanup: Rework handling of i/o interrupts in assembler
> - Fix netboot image (include cio.o in make file)
> - Misc cleanups
> 
> 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
> 
>  docs/devel/s390-dasd-ipl.txt     | 132 ++++++++++++++
>  hw/s390x/ipl.c                   |  15 ++
>  hw/s390x/s390-ccw.c              |   9 +
>  hw/vfio/ccw.c                    |  13 +-
>  include/hw/s390x/s390-ccw.h      |   1 +
>  include/hw/s390x/vfio-ccw.h      |  38 ++++
>  pc-bios/s390-ccw/Makefile        |   2 +-
>  pc-bios/s390-ccw/cio.c           | 374 +++++++++++++++++++++++++++++++++++++++
>  pc-bios/s390-ccw/cio.h           | 236 +++++++++++++++++++-----
>  pc-bios/s390-ccw/dasd-ipl.c      | 249 ++++++++++++++++++++++++++
>  pc-bios/s390-ccw/dasd-ipl.h      |  16 ++
>  pc-bios/s390-ccw/libc.h          |  23 +++
>  pc-bios/s390-ccw/main.c          | 161 +++++++++++------
>  pc-bios/s390-ccw/netboot.mak     |   2 +-
>  pc-bios/s390-ccw/netmain.c       |   1 +
>  pc-bios/s390-ccw/s390-arch.h     | 113 ++++++++++++
>  pc-bios/s390-ccw/s390-ccw.h      |  10 +-
>  pc-bios/s390-ccw/start.S         |  33 +++-
>  pc-bios/s390-ccw/virtio-blkdev.c |   1 +
>  pc-bios/s390-ccw/virtio.c        |  46 +----
>  roms/SLOF                        |   2 +-
>  tests/boot-serial-test.c         |   2 +-
>  22 files changed, 1308 insertions(+), 171 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/s390-arch.h
> 
> --
> 2.7.4
> 

  parent reply	other threads:[~2018-12-12 14:34 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-12 14:11 [Qemu-devel] [PATCH 00/15] s390: vfio-ccw dasd ipl support Jason J. Herne
2018-12-12 14:11 ` [Qemu-devel] [PATCH 01/15] s390 vfio-ccw: Add bootindex property and IPLB data Jason J. Herne
2018-12-12 15:22   ` [Qemu-devel] [qemu-s390x] " Jason J. Herne
2018-12-13 16:48   ` [Qemu-devel] " Cornelia Huck
2018-12-12 14:11 ` [Qemu-devel] [PATCH 02/15] s390-bios: decouple cio setup from virtio Jason J. Herne
2018-12-13 13:14   ` Farhan Ali
2018-12-12 14:11 ` [Qemu-devel] [PATCH 03/15] s390-bios: decouple common boot logic " Jason J. Herne
2018-12-13 13:17   ` Farhan Ali
2018-12-12 14:11 ` [Qemu-devel] [PATCH 04/15] s390-bios: Extend find_dev() for non-virtio devices Jason J. Herne
2018-12-12 14:11 ` [Qemu-devel] [PATCH 05/15] s390-bios: Factor finding boot device out of virtio code path Jason J. Herne
2018-12-13 13:55   ` Farhan Ali
2018-12-12 14:11 ` [Qemu-devel] [PATCH 06/15] s390-bios: Clean up cio.h Jason J. Herne
2018-12-12 14:11 ` [Qemu-devel] [PATCH 07/15] s390-bios: Decouple channel i/o logic from virtio Jason J. Herne
2018-12-12 14:11 ` [Qemu-devel] [PATCH 08/15] s390-bios: Map low core memory Jason J. Herne
2018-12-12 14:11 ` [Qemu-devel] [PATCH 09/15] s390-bios: ptr2u32 and u32toptr Jason J. Herne
2018-12-12 14:11 ` [Qemu-devel] [PATCH 10/15] s390-bios: Support for running format-0/1 channel programs Jason J. Herne
2018-12-13 16:54   ` Farhan Ali
2018-12-13 17:21   ` Cornelia Huck
2019-01-07 19:02     ` Jason J. Herne
2019-01-08 11:07       ` Cornelia Huck
2019-01-09 18:10       ` [Qemu-devel] [qemu-s390x] " Jason J. Herne
2019-01-09 18:34         ` Cornelia Huck
2019-01-09 20:01           ` Jason J. Herne
2019-01-10 12:15             ` Cornelia Huck
2019-01-10 15:02               ` Jason J. Herne
2019-01-10 15:21                 ` Cornelia Huck
2019-01-16 15:19           ` Jason J. Herne
2019-01-14 18:44       ` Jason J. Herne
2019-01-15  8:54         ` Cornelia Huck
2018-12-12 14:11 ` [Qemu-devel] [PATCH 11/15] s390-bios: cio error handling Jason J. Herne
2018-12-13 17:11   ` Farhan Ali
2018-12-13 17:26   ` Cornelia Huck
2018-12-12 14:11 ` [Qemu-devel] [PATCH 12/15] s390-bios: Refactor virtio to run channel programs via cio Jason J. Herne
2018-12-14 13:04   ` Cornelia Huck
2019-01-10 16:12     ` Jason J. Herne
2019-01-10 16:19       ` Cornelia Huck
2018-12-12 14:11 ` [Qemu-devel] [PATCH 13/15] s390-bios: Use control unit type to determine boot method Jason J. Herne
2018-12-12 14:11 ` [Qemu-devel] [PATCH 14/15] s390-bios: Add channel command codes/structs needed for dasd-ipl Jason J. Herne
2018-12-12 14:11 ` [Qemu-devel] [PATCH 15/15] s390-bios: Support booting from real dasd device Jason J. Herne
2018-12-12 14:34 ` Cornelia Huck [this message]
2018-12-12 14:47   ` [Qemu-devel] [PATCH 00/15] s390: vfio-ccw dasd ipl support Jason J. Herne
2019-01-08 16:37   ` Jason J. Herne
2019-01-08 17:36     ` [Qemu-devel] [qemu-s390x] " Halil Pasic
2019-01-09  9:57       ` Cornelia Huck
2018-12-12 20:28 ` [Qemu-devel] " no-reply
  -- strict thread matches above, loose matches on Subject: below --
2019-01-29 13:29 Jason J. Herne
2019-01-31 18:10 ` 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=20181212153426.2ca5a481.cohuck@redhat.com \
    --to=cohuck@redhat.com \
    --cc=alifm@linux.ibm.com \
    --cc=borntraeger@de.ibm.com \
    --cc=farman@linux.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.