[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL-for-s390x 09/14] s390-ccw: print zipl boot menu
From: |
Thomas Huth |
Subject: |
[Qemu-devel] [PULL-for-s390x 09/14] s390-ccw: print zipl boot menu |
Date: |
Mon, 26 Feb 2018 11:42:32 +0100 |
From: "Collin L. Walling" <address@hidden>
When the boot menu options are present and the guest's
disk has been configured by the zipl tool, then the user
will be presented with an interactive boot menu with
labeled entries. An example of what the menu might look
like:
zIPL v1.37.1-build-20170714 interactive boot menu.
0. default (linux-4.13.0)
1. linux-4.13.0
2. performance
3. kvm
Signed-off-by: Collin L. Walling <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Acked-by: Christian Borntraeger <address@hidden>
Signed-off-by: Thomas Huth <address@hidden>
---
pc-bios/s390-ccw/menu.c | 33 ++++++++++++++++++++++++++++++++-
1 file changed, 32 insertions(+), 1 deletion(-)
diff --git a/pc-bios/s390-ccw/menu.c b/pc-bios/s390-ccw/menu.c
index c1d242f..730d44e 100644
--- a/pc-bios/s390-ccw/menu.c
+++ b/pc-bios/s390-ccw/menu.c
@@ -15,11 +15,42 @@
static uint8_t flag;
static uint64_t timeout;
-int menu_get_zipl_boot_index(const char *menu_data)
+static int get_boot_index(int entries)
{
return 0; /* implemented next patch */
}
+static void zipl_println(const char *data, size_t len)
+{
+ char buf[len + 2];
+
+ ebcdic_to_ascii(data, buf, len);
+ buf[len] = '\n';
+ buf[len + 1] = '\0';
+
+ sclp_print(buf);
+}
+
+int menu_get_zipl_boot_index(const char *menu_data)
+{
+ size_t len;
+ int entries;
+
+ /* Print and count all menu items, including the banner */
+ for (entries = 0; *menu_data; entries++) {
+ len = strlen(menu_data);
+ zipl_println(menu_data, len);
+ menu_data += len + 1;
+
+ if (entries < 2) {
+ sclp_print("\n");
+ }
+ }
+
+ sclp_print("\n");
+ return get_boot_index(entries - 1); /* subtract 1 to exclude banner */
+}
+
void menu_set_parms(uint8_t boot_menu_flag, uint32_t boot_menu_timeout)
{
flag = boot_menu_flag;
--
1.8.3.1
- [Qemu-devel] [PULL-for-s390x 05/14] s390-ccw: move auxiliary IPL data to separate location, (continued)
- [Qemu-devel] [PULL-for-s390x 05/14] s390-ccw: move auxiliary IPL data to separate location, Thomas Huth, 2018/02/26
- [Qemu-devel] [PULL-for-s390x 06/14] s390-ccw: parse and set boot menu options, Thomas Huth, 2018/02/26
- Re: [Qemu-devel] [PULL-for-s390x 06/14] s390-ccw: parse and set boot menu options, Cornelia Huck, 2018/02/26
- Re: [Qemu-devel] [qemu-s390x] [PULL-for-s390x 06/14] s390-ccw: parse and set boot menu options, Collin L. Walling, 2018/02/26
- Re: [Qemu-devel] [qemu-s390x] [PULL-for-s390x 06/14] s390-ccw: parse and set boot menu options, Collin L. Walling, 2018/02/26
- Re: [Qemu-devel] [qemu-s390x] [PULL-for-s390x 06/14] s390-ccw: parse and set boot menu options, Cornelia Huck, 2018/02/27
- Re: [Qemu-devel] [qemu-s390x] [PULL-for-s390x 06/14] s390-ccw: parse and set boot menu options, Thomas Huth, 2018/02/27
- Re: [Qemu-devel] [qemu-s390x] [PULL-for-s390x 06/14] s390-ccw: parse and set boot menu options, Collin L. Walling, 2018/02/27
[Qemu-devel] [PULL-for-s390x 07/14] s390-ccw: set up interactive boot menu parameters, Thomas Huth, 2018/02/26
[Qemu-devel] [PULL-for-s390x 08/14] s390-ccw: read stage2 boot loader data to find menu, Thomas Huth, 2018/02/26
[Qemu-devel] [PULL-for-s390x 09/14] s390-ccw: print zipl boot menu,
Thomas Huth <=
[Qemu-devel] [PULL-for-s390x 10/14] s390-ccw: read user input for boot index via the SCLP console, Thomas Huth, 2018/02/26
[Qemu-devel] [PULL-for-s390x 11/14] s390-ccw: set cp_receive mask only when needed and consume pending service irqs, Thomas Huth, 2018/02/26
[Qemu-devel] [PULL-for-s390x 12/14] s390-ccw: use zipl values when no boot menu options are present, Thomas Huth, 2018/02/26
[Qemu-devel] [PULL-for-s390x 13/14] s390-ccw: interactive boot menu for scsi, Thomas Huth, 2018/02/26
[Qemu-devel] [PULL-for-s390x 14/14] pc-bios/s390: Rebuild the s390x firmware images with the boot menu changes, Thomas Huth, 2018/02/26
Re: [Qemu-devel] [PULL-for-s390x 00/14] s390-ccw firmware update, Cornelia Huck, 2018/02/27
Re: [Qemu-devel] [PULL-for-s390x 00/14] s390-ccw firmware update, Peter Maydell, 2018/02/27