On 02/16/2018 11:20 AM, Thomas Huth wrote:
On 15.02.2018 23:54, Collin L. Walling wrote:
Set boot menu options for an s390 guest and store them in
the iplb. These options are set via the QEMU command line
option:

     -boot menu=on|off[,splash-time=X]

or via the libvirt domain xml:

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

Where X represents some positive integer representing
milliseconds.

Any value set for loadparm will override all boot menu options.
If loadparm=PROMPT, then the menu will be enabled without a
timeout.

The absence of any boot options on the command line will flag
to later use the zipl boot loader values.

Signed-off-by: Collin L. Walling <wall...@linux.vnet.ibm.com>
Reviewed-by: Janosch Frank <fran...@linux.vnet.ibm.com>
Reviewed-by: Thomas Huth <th...@redhat.com>
---
  hw/s390x/ipl.c          | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
  hw/s390x/ipl.h          |  9 +++++++--
  pc-bios/s390-ccw/iplb.h |  6 ++++--
  3 files changed, 59 insertions(+), 4 deletions(-)
[....]
diff --git a/hw/s390x/ipl.h b/hw/s390x/ipl.h
index cab8a97..7c3cab8 100644
--- a/hw/s390x/ipl.h
+++ b/hw/s390x/ipl.h
@@ -60,10 +60,15 @@ typedef struct IplBlockQemuScsi IplBlockQemuScsi;
#define QIPL_ADDRESS 0xcc +#define BOOT_MENU_FLAG_CMD_OPTS 0x80
+#define BOOT_MENU_FLAG_ZIPL_OPTS 0x40
+
  struct QemuIplParameters {
-    uint8_t  reserved1[4];
+    uint8_t  boot_menu_flags;
+    uint8_t  reserved1;
+    uint32_t boot_menu_timeout;
      uint64_t netboot_start_addr;
The netboot_start_addr field is now never aligned anymore, neither on
the host side, nor in guest memory. Not a big problem since the struct
is declared with "QEMU_PACKED", but still ... it's always nicer to try
to align fields to their natural boundaries. So maybe move
boot_menu_flags and reserved1 after netboot_start_addr ?

Makes sense. Will fixup.


-    uint8_t  reserved2[16];
+    uint8_t  reserved2[14];
  } QEMU_PACKED;
  typedef struct QemuIplParameters QemuIplParameters;
  Thomas



--
- Collin L Walling


Reply via email to