qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Jason J. Herne" <jjherne@linux.ibm.com>
To: qemu-devel@nongnu.org, qemu-s390x@nongnu.org, cohuck@redhat.com,
	pasic@linux.ibm.com, bjsdjshi@linux.ibm.com,
	borntraeger@de.ibm.com
Subject: [Qemu-devel] [RFC 00/15] s390: vfio-ccw dasd ipl support
Date: Thu,  5 Jul 2018 13:25:28 -0400	[thread overview]
Message-ID: <1530811543-6881-1-git-send-email-jjherne@linux.ibm.com> (raw)

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.

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: 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
  s390-bios: Use sense ccw to ensure consistent device state at boot
    time

 docs/devel/s390-dasd-ipl.txt     | 132 +++++++++++++++++++++
 hw/s390x/ipl.c                   |  15 +++
 hw/s390x/s390-ccw.c              |   9 ++
 hw/vfio/ccw.c                    |  13 +-
 hw/vfio/ccw.h                    |  38 ++++++
 include/hw/s390x/s390-ccw.h      |   1 +
 pc-bios/s390-ccw/Makefile        |   2 +-
 pc-bios/s390-ccw/cio.c           | 181 ++++++++++++++++++++++++++++
 pc-bios/s390-ccw/cio.h           | 150 ++++++++++++++++-------
 pc-bios/s390-ccw/dasd-ipl.c      | 249 +++++++++++++++++++++++++++++++++++++++
 pc-bios/s390-ccw/dasd-ipl.h      |  16 +++
 pc-bios/s390-ccw/libc.h          |  12 ++
 pc-bios/s390-ccw/main.c          | 162 ++++++++++++++++---------
 pc-bios/s390-ccw/netmain.c       |   1 +
 pc-bios/s390-ccw/s390-arch.h     | 113 ++++++++++++++++++
 pc-bios/s390-ccw/s390-ccw.h      |   9 --
 pc-bios/s390-ccw/virtio-blkdev.c |   1 +
 pc-bios/s390-ccw/virtio.c        |  46 +-------
 18 files changed, 986 insertions(+), 164 deletions(-)
 create mode 100644 docs/devel/s390-dasd-ipl.txt
 create mode 100644 hw/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

             reply	other threads:[~2018-07-05 17:25 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-05 17:25 Jason J. Herne [this message]
2018-07-05 17:25 ` [Qemu-devel] [RFC 01/15] s390 vfio-ccw: Add bootindex property and IPLB data Jason J. Herne
2018-07-06  7:33   ` Cornelia Huck
2018-07-11 10:33   ` [Qemu-devel] [qemu-s390x] " Thomas Huth
2018-07-05 17:25 ` [Qemu-devel] [RFC 02/15] s390-bios: decouple cio setup from virtio Jason J. Herne
2018-07-06  7:35   ` Cornelia Huck
2018-07-05 17:25 ` [Qemu-devel] [RFC 03/15] s390-bios: decouple common boot logic " Jason J. Herne
2018-07-11 10:41   ` [Qemu-devel] [qemu-s390x] " Thomas Huth
2018-07-05 17:25 ` [Qemu-devel] [RFC 04/15] s390-bios: Extend find_dev() for non-virtio devices Jason J. Herne
2018-07-05 17:25 ` [Qemu-devel] [RFC 05/15] s390-bios: Factor finding boot device out of virtio code path Jason J. Herne
2018-07-10  6:53   ` Christian Borntraeger
2018-07-05 17:25 ` [Qemu-devel] [RFC 06/15] s390-bios: Clean up cio.h Jason J. Herne
2018-07-17 18:15   ` [Qemu-devel] [qemu-s390x] " Thomas Huth
2018-07-17 18:22     ` Richard Henderson
2018-07-05 17:25 ` [Qemu-devel] [RFC 07/15] s390-bios: Decouple channel i/o logic from virtio Jason J. Herne
2018-07-06  6:48   ` Christian Borntraeger
2018-07-05 17:25 ` [Qemu-devel] [RFC 08/15] s390-bios: Map low core memory Jason J. Herne
2018-07-06  6:46   ` Christian Borntraeger
2018-07-06  7:42   ` Cornelia Huck
2018-07-17 18:10   ` [Qemu-devel] [qemu-s390x] " Thomas Huth
2018-09-10 14:17     ` Jason J. Herne
2018-09-13  5:25       ` Thomas Huth
2018-09-13 14:39         ` Jason J. Herne
2018-07-05 17:25 ` [Qemu-devel] [RFC 09/15] s390-bios: ptr2u32 and u32toptr Jason J. Herne
2018-07-05 17:25 ` [Qemu-devel] [RFC 10/15] s390-bios: Support for running format-0/1 channel programs Jason J. Herne
2018-07-06  7:04   ` Christian Borntraeger
2018-07-06 10:25     ` [Qemu-devel] [qemu-s390x] " Christian Borntraeger
2018-07-06  8:03   ` [Qemu-devel] " Cornelia Huck
2018-07-06 11:42     ` [Qemu-devel] [qemu-s390x] " Halil Pasic
2018-07-06 12:26       ` Cornelia Huck
2018-07-06 13:03         ` Halil Pasic
2018-07-06 13:15           ` Cornelia Huck
2018-07-06 13:33             ` Halil Pasic
2018-07-06 14:40               ` Jason J. Herne
2018-07-06 14:35     ` [Qemu-devel] " Jason J. Herne
2018-07-17 10:02       ` Cornelia Huck
2018-07-09  7:18   ` Christian Borntraeger
2018-07-09 10:51   ` Christian Borntraeger
2018-07-05 17:25 ` [Qemu-devel] [RFC 11/15] s390-bios: Refactor virtio to run channel programs via cio Jason J. Herne
2018-07-05 17:25 ` [Qemu-devel] [RFC 12/15] s390-bios: Use control unit type to determine boot method Jason J. Herne
2018-07-17 18:25   ` [Qemu-devel] [qemu-s390x] " Thomas Huth
2018-07-05 17:25 ` [Qemu-devel] [RFC 13/15] s390-bios: Add channel command codes/structs needed for dasd-ipl Jason J. Herne
2018-07-05 17:25 ` [Qemu-devel] [RFC 14/15] s390-bios: Support booting from real dasd device Jason J. Herne
2018-07-17 20:43   ` [Qemu-devel] [qemu-s390x] " David Hildenbrand
2018-07-18  7:40     ` Cornelia Huck
2018-07-18  7:51       ` David Hildenbrand
2018-07-18 10:55       ` Halil Pasic
2018-07-18 11:35         ` Cornelia Huck
2018-07-18 11:47           ` Halil Pasic
2018-07-18 11:44   ` [Qemu-devel] " Halil Pasic
2018-07-05 17:25 ` [Qemu-devel] [RFC 15/15] s390-bios: Use sense ccw to ensure consistent device state at boot time Jason J. Herne
2018-07-06 10:08   ` Cornelia Huck
2018-07-06 14:45     ` Jason J. Herne
2018-07-06 22:20   ` Halil Pasic
2018-07-05 18:32 ` [Qemu-devel] [RFC 00/15] s390: vfio-ccw dasd ipl support no-reply
2018-07-06  6:42 ` Cornelia Huck
2018-08-15 11:48 ` Cornelia Huck
2018-08-21 19:31   ` Jason J. Herne
2018-08-22  7:46     ` Cornelia Huck

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=1530811543-6881-1-git-send-email-jjherne@linux.ibm.com \
    --to=jjherne@linux.ibm.com \
    --cc=bjsdjshi@linux.ibm.com \
    --cc=borntraeger@de.ibm.com \
    --cc=cohuck@redhat.com \
    --cc=pasic@linux.ibm.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).