All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v5 00/12]Interactive Boot Menu for DASD and SCSI Guests on s390x
@ 2018-02-05 20:57 Collin L. Walling
  2018-02-05 20:57 ` [Qemu-devel] [PATCH v5 01/12] s390-ccw: refactor boot map table code Collin L. Walling
                   ` (12 more replies)
  0 siblings, 13 replies; 38+ messages in thread
From: Collin L. Walling @ 2018-02-05 20:57 UTC (permalink / raw)
  To: qemu-s390x, qemu-devel
  Cc: borntraeger, frankja, cohuck, thuth, david, alifm, eblake, mihajlov

--- [v5] ---

Note: some areas outside of this patch series could use some 
cleanup/refactoring/revisiting, but I'd like to defer that to a different
series that touches on those areas (if we try to address them all, then
this series will never be finished!)

As for the irq drain solution introduced with this version, it is invoked 
where the possibility of pending irqs is most likely. Ideally we'd like 
to call this somewhere toward the end of the IPL process, but it requires 
some refactoring of code that is better suited for another patch series.

*** - introduced Viktor's patch which includes a QEMU IPLB
      - boot menu options are stored here
*** - we now drain all pending irqs after getting boot index
*** - lib.c functions will not handle negative numbers and are documented as such
      - reason: negative number conversions are not needed in s390-ccw bios
      - it just bloats the code -- it's easier to just maintain the cases we need
      - removed wrapper for itostr and placed asserts inside itostr
    - various code cleanups
      - removed superfluous parens
      - eckd_block_num now uses CHS ptr
      - cleaned up read_prompt (moved buffer add and echo to default case)
      - cleaned up zipl configuration parameter logic
      - condensed scsi program table entries counter
      - moved stage1, 1b, and seekarg structs to patch "read stage2 boot..."
      - s/BOOT_MENU_FLAG_BOOT_OPTS/BOOT_MENU_FLAG_CMD_OPTS
        - this makes a little more sense as to where these fields came from
      - moved loadparm defines to main.c, as that is the only file that needs them
      - s/2017/2018 :)


--- [Summary] ---

These patches implement a boot menu for ECKD DASD and SCSI guests on s390x. 
The menu will only appear if the disk has been configured for IPL with the 
zIPL tool and with the following QEMU command line options:

    -boot menu=on[,splash-time=X] and/or -machine loadparm='prompt'

The following must be specified for the device to be IPL'd from:

    -device ...,bootindex=1

or via the following libvirt domain xml:

    <os>
      <bootmenu enable='yes' timeout='X'/>
    </os>

    or
	
    <disk>
      ...
      <boot order='1' loadparm='PROMPT'/>
    </disk>

Where X is some positive integer representing time in milliseconds.

<boot order='1' ... > must be specified for the device to be IPL'd from

A loadparm other than 'prompt' will disable the menu and just boot 
the specified entry.

If no boot options are specified, we will attempt to use the values
provided by zipl (ECKD DASD only).

Collin L. Walling (12):
  s390-ccw: refactor boot map table code
  s390-ccw: refactor eckd_block_num to use CHS
  s390-ccw: refactor IPL structs
  s390-ccw: update libc
  s390-ccw: move auxiliary IPL data to separate location
  s390-ccw: parse and set boot menu options
  s390-ccw: set up interactive boot menu parameters
  s390-ccw: read stage2 boot loader data to find menu
  s390-ccw: print zipl boot menu
  s390-ccw: read user input for boot index via the SCLP console
  s390-ccw: clear pending irqs
  s390-ccw: interactive boot menu for scsi

 hw/s390x/ipl.c              |  70 +++++++++++-
 hw/s390x/ipl.h              |  16 ++-
 pc-bios/s390-ccw/Makefile   |   2 +-
 pc-bios/s390-ccw/bootmap.c  | 175 +++++++++++++++++++++---------
 pc-bios/s390-ccw/bootmap.h  |  89 ++++++++++------
 pc-bios/s390-ccw/iplb.h     |  14 ++-
 pc-bios/s390-ccw/libc.c     |  91 ++++++++++++++++
 pc-bios/s390-ccw/libc.h     |  35 +++++-
 pc-bios/s390-ccw/main.c     |  48 ++++++---
 pc-bios/s390-ccw/menu.c     | 252 ++++++++++++++++++++++++++++++++++++++++++++
 pc-bios/s390-ccw/menu.h     |  25 +++++
 pc-bios/s390-ccw/s390-ccw.h |   3 +
 pc-bios/s390-ccw/sclp.c     |  41 +++++--
 pc-bios/s390-ccw/virtio.c   |   2 +-
 14 files changed, 746 insertions(+), 117 deletions(-)
 create mode 100644 pc-bios/s390-ccw/libc.c
 create mode 100644 pc-bios/s390-ccw/menu.c
 create mode 100644 pc-bios/s390-ccw/menu.h

-- 
2.7.4

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

end of thread, other threads:[~2018-02-15 16:12 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-05 20:57 [Qemu-devel] [PATCH v5 00/12]Interactive Boot Menu for DASD and SCSI Guests on s390x Collin L. Walling
2018-02-05 20:57 ` [Qemu-devel] [PATCH v5 01/12] s390-ccw: refactor boot map table code Collin L. Walling
2018-02-06  5:52   ` [Qemu-devel] [qemu-s390x] " Thomas Huth
2018-02-06 17:05     ` Collin L. Walling
2018-02-05 20:57 ` [Qemu-devel] [PATCH v5 02/12] s390-ccw: refactor eckd_block_num to use CHS Collin L. Walling
2018-02-06  6:00   ` [Qemu-devel] [qemu-s390x] " Thomas Huth
2018-02-05 20:57 ` [Qemu-devel] [PATCH v5 03/12] s390-ccw: refactor IPL structs Collin L. Walling
2018-02-05 20:57 ` [Qemu-devel] [PATCH v5 04/12] s390-ccw: update libc Collin L. Walling
2018-02-06  6:14   ` [Qemu-devel] [qemu-s390x] " Thomas Huth
2018-02-06 17:07     ` Collin L. Walling
2018-02-05 20:57 ` [Qemu-devel] [PATCH v5 05/12] s390-ccw: move auxiliary IPL data to separate location Collin L. Walling
2018-02-06  9:23   ` [Qemu-devel] [qemu-s390x] " Thomas Huth
2018-02-06 10:13     ` Viktor Mihajlovski
2018-02-06 17:10       ` Collin L. Walling
2018-02-14 14:51       ` Collin L. Walling
2018-02-14 15:07         ` Christian Borntraeger
2018-02-06  9:45   ` [Qemu-devel] " Christian Borntraeger
2018-02-06  9:57     ` Viktor Mihajlovski
2018-02-05 20:57 ` [Qemu-devel] [PATCH v5 06/12] s390-ccw: parse and set boot menu options Collin L. Walling
2018-02-06 10:00   ` Viktor Mihajlovski
2018-02-14 17:46   ` [Qemu-devel] [qemu-s390x] " Collin L. Walling
2018-02-15  6:38     ` Thomas Huth
2018-02-15  7:57       ` Viktor Mihajlovski
2018-02-05 20:57 ` [Qemu-devel] [PATCH v5 07/12] s390-ccw: set up interactive boot menu parameters Collin L. Walling
2018-02-05 20:57 ` [Qemu-devel] [PATCH v5 08/12] s390-ccw: read stage2 boot loader data to find menu Collin L. Walling
2018-02-05 20:57 ` [Qemu-devel] [PATCH v5 09/12] s390-ccw: print zipl boot menu Collin L. Walling
2018-02-05 20:57 ` [Qemu-devel] [PATCH v5 10/12] s390-ccw: read user input for boot index via the SCLP console Collin L. Walling
2018-02-05 20:57 ` [Qemu-devel] [PATCH v5 11/12] s390-ccw: clear pending irqs Collin L. Walling
2018-02-06 10:07   ` [Qemu-devel] [qemu-s390x] " Thomas Huth
2018-02-06 16:37     ` Collin L. Walling
2018-02-14 10:57   ` David Hildenbrand
2018-02-14 15:33     ` Collin L. Walling
2018-02-15  7:04       ` Thomas Huth
2018-02-15 15:47         ` Collin L. Walling
2018-02-15 16:12           ` David Hildenbrand
2018-02-05 20:57 ` [Qemu-devel] [PATCH v5 12/12] s390-ccw: interactive boot menu for scsi Collin L. Walling
2018-02-05 21:20 ` [Qemu-devel] [PATCH v5 00/12]Interactive Boot Menu for DASD and SCSI Guests on s390x no-reply
2018-02-05 21:37   ` [Qemu-devel] [qemu-s390x] " Collin L. Walling

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.