From a0e11b617b9ef41cefe8739dff4d6a7b01ca967f Mon Sep 17 00:00:00 2001
From: Collin Walling <walling@linux.ibm.com>
Date: Tue, 29 May 2018 00:40:09 -0400
Subject: [PATCH 1/7] pc-bios/s390-ccw: define loadparm length

Loadparm is defined by the s390 architecture to be 8 bytes
in length. Let's define this size in the s390-ccw bios.

Suggested-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Collin Walling <walling@linux.ibm.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 pc-bios/s390-ccw/iplb.h | 4 +++-
 pc-bios/s390-ccw/main.c | 8 ++++----
 pc-bios/s390-ccw/sclp.c | 2 +-
 pc-bios/s390-ccw/sclp.h | 2 +-
 4 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/pc-bios/s390-ccw/iplb.h b/pc-bios/s390-ccw/iplb.h
index ded20c834e..772d5c57c9 100644
--- a/pc-bios/s390-ccw/iplb.h
+++ b/pc-bios/s390-ccw/iplb.h
@@ -12,6 +12,8 @@
 #ifndef IPLB_H
 #define IPLB_H
 
+#define LOADPARM_LEN    8
+
 struct IplBlockCcw {
     uint8_t  reserved0[85];
     uint8_t  ssid;
@@ -61,7 +63,7 @@ struct IplParameterBlock {
     uint8_t  pbt;
     uint8_t  flags;
     uint16_t reserved01;
-    uint8_t  loadparm[8];
+    uint8_t  loadparm[LOADPARM_LEN];
     union {
         IplBlockCcw ccw;
         IplBlockFcp fcp;
diff --git a/pc-bios/s390-ccw/main.c b/pc-bios/s390-ccw/main.c
index 26f9adf84a..544851d672 100644
--- a/pc-bios/s390-ccw/main.c
+++ b/pc-bios/s390-ccw/main.c
@@ -15,7 +15,7 @@
 char stack[PAGE_SIZE * 8] __attribute__((__aligned__(PAGE_SIZE)));
 static SubChannelId blk_schid = { .one = 1 };
 IplParameterBlock iplb __attribute__((__aligned__(PAGE_SIZE)));
-static char loadparm_str[9] = { 0, 0, 0, 0, 0, 0, 0, 0, 0 };
+static char loadparm_str[LOADPARM_LEN + 1] = { 0, 0, 0, 0, 0, 0, 0, 0, 0 };
 QemuIplParameters qipl;
 
 #define LOADPARM_PROMPT "PROMPT  "
@@ -80,13 +80,13 @@ static bool find_dev(Schib *schib, int dev_no)
 
 static void menu_setup(void)
 {
-    if (memcmp(loadparm_str, LOADPARM_PROMPT, 8) == 0) {
+    if (memcmp(loadparm_str, LOADPARM_PROMPT, LOADPARM_LEN) == 0) {
         menu_set_parms(QIPL_FLAG_BM_OPTS_CMD, 0);
         return;
     }
 
     /* If loadparm was set to any other value, then do not enable menu */
-    if (memcmp(loadparm_str, LOADPARM_EMPTY, 8) != 0) {
+    if (memcmp(loadparm_str, LOADPARM_EMPTY, LOADPARM_LEN) != 0) {
         return;
     }
 
@@ -117,7 +117,7 @@ static void virtio_setup(void)
     enable_mss_facility();
 
     sclp_get_loadparm_ascii(loadparm_str);
-    memcpy(ldp + 10, loadparm_str, 8);
+    memcpy(ldp + 10, loadparm_str, LOADPARM_LEN);
     sclp_print(ldp);
 
     memcpy(&qipl, early_qipl, sizeof(QemuIplParameters));
diff --git a/pc-bios/s390-ccw/sclp.c b/pc-bios/s390-ccw/sclp.c
index 3836cb4716..c0223fab0b 100644
--- a/pc-bios/s390-ccw/sclp.c
+++ b/pc-bios/s390-ccw/sclp.c
@@ -114,7 +114,7 @@ void sclp_get_loadparm_ascii(char *loadparm)
     memset((char *)_sccb, 0, sizeof(ReadInfo));
     sccb->h.length = sizeof(ReadInfo);
     if (!sclp_service_call(SCLP_CMDW_READ_SCP_INFO, sccb)) {
-        ebcdic_to_ascii((char *) sccb->loadparm, loadparm, 8);
+        ebcdic_to_ascii((char *) sccb->loadparm, loadparm, LOADPARM_LEN);
     }
 }
 
diff --git a/pc-bios/s390-ccw/sclp.h b/pc-bios/s390-ccw/sclp.h
index 0dd987ff5d..8450161ba7 100644
--- a/pc-bios/s390-ccw/sclp.h
+++ b/pc-bios/s390-ccw/sclp.h
@@ -56,7 +56,7 @@ typedef struct ReadInfo {
     uint16_t rnmax;
     uint8_t rnsize;
     uint8_t reserved[13];
-    uint8_t loadparm[8];
+    uint8_t loadparm[LOADPARM_LEN];
 } __attribute__((packed)) ReadInfo;
 
 typedef struct SCCB {

From 4248981d5190eaf2b0ab74d8c287b6070ffc300a Mon Sep 17 00:00:00 2001
From: Thomas Huth <thuth@redhat.com>
Date: Tue, 5 Jun 2018 12:41:49 +0200
Subject: [PATCH 2/7] roms: Update SLOF submodule to current status

We need the latest version of SLOF's libnet for adding pxelinux.cfg
support in the s390-ccw bios, too.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 roms/SLOF | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/roms/SLOF b/roms/SLOF
index fa981320a1..2317427ce7 160000
--- a/roms/SLOF
+++ b/roms/SLOF
@@ -1 +1 @@
-Subproject commit fa981320a1e0968d6fc1b8de319723ff8212b337
+Subproject commit 2317427ce76006723f7ae103a6998ab41dd79c68

From 134f0b3d7ca5fbbd17f21fea87066967ce1d6de5 Mon Sep 17 00:00:00 2001
From: Thomas Huth <thuth@redhat.com>
Date: Fri, 18 May 2018 11:31:27 +0200
Subject: [PATCH 3/7] pc-bios/s390-ccw/net: Update code for the latest changes
 in SLOF

The ip_version information now has to be stored in the filename_ip_t
structure, and there is now a common function called tftp_get_error_info()
which can be used to get the error string for a TFTP error code.
We can also get rid of some superfluous "(char *)" casts now.

Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
Tested-by: Viktor Mihajlovski <mihajlov@linux.vnet.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 pc-bios/s390-ccw/netboot.mak |  2 +-
 pc-bios/s390-ccw/netmain.c   | 86 +++++++-----------------------------
 2 files changed, 18 insertions(+), 70 deletions(-)

diff --git a/pc-bios/s390-ccw/netboot.mak b/pc-bios/s390-ccw/netboot.mak
index 4f64128c6c..a73be367e6 100644
--- a/pc-bios/s390-ccw/netboot.mak
+++ b/pc-bios/s390-ccw/netboot.mak
@@ -34,7 +34,7 @@ STDLIB_OBJS = atoi.o atol.o strtoul.o strtol.o rand.o malloc.o free.o
 %.o : $(SLOF_DIR)/lib/libc/stdlib/%.c
 	$(call quiet-command,$(CC) $(LIBC_CFLAGS) -c -o $@ $<,"CC","$(TARGET_DIR)$@")
 
-STDIO_OBJS = sprintf.o vfprintf.o vsnprintf.o vsprintf.o fprintf.o \
+STDIO_OBJS = sprintf.o snprintf.o vfprintf.o vsnprintf.o vsprintf.o fprintf.o \
 	     printf.o putc.o puts.o putchar.o stdchnls.o fileno.o
 %.o : $(SLOF_DIR)/lib/libc/stdio/%.c
 	$(call quiet-command,$(CC) $(LIBC_CFLAGS) -c -o $@ $<,"CC","$(TARGET_DIR)$@")
diff --git a/pc-bios/s390-ccw/netmain.c b/pc-bios/s390-ccw/netmain.c
index 600024155b..d007fb7a86 100644
--- a/pc-bios/s390-ccw/netmain.c
+++ b/pc-bios/s390-ccw/netmain.c
@@ -47,7 +47,6 @@ IplParameterBlock iplb __attribute__((aligned(PAGE_SIZE)));
 static char cfgbuf[2048];
 
 static SubChannelId net_schid = { .one = 1 };
-static int ip_version = 4;
 static uint64_t dest_timer;
 
 static uint64_t get_timer_ms(void)
@@ -100,10 +99,10 @@ static int dhcp(struct filename_ip *fn_ip, int retries)
             printf("\nGiving up after %d DHCP requests\n", retries);
             return -1;
         }
-        ip_version = 4;
+        fn_ip->ip_version = 4;
         rc = dhcpv4(NULL, fn_ip);
         if (rc == -1) {
-            ip_version = 6;
+            fn_ip->ip_version = 6;
             set_ipv6_address(fn_ip->fd, 0);
             rc = dhcpv6(NULL, fn_ip);
             if (rc == 0) {
@@ -137,8 +136,7 @@ static int tftp_load(filename_ip_t *fnip, void *buffer, int len)
     tftp_err_t tftp_err;
     int rc;
 
-    rc = tftp(fnip, buffer, len, DEFAULT_TFTP_RETRIES, &tftp_err, 1, 1428,
-              ip_version);
+    rc = tftp(fnip, buffer, len, DEFAULT_TFTP_RETRIES, &tftp_err);
 
     if (rc < 0) {
         /* Make sure that error messages are put into a new line */
@@ -149,61 +147,11 @@ static int tftp_load(filename_ip_t *fnip, void *buffer, int len)
         printf("  TFTP: Received %s (%d KBytes)\n", fnip->filename, rc / 1024);
     } else if (rc > 0) {
         printf("  TFTP: Received %s (%d Bytes)\n", fnip->filename, rc);
-    } else if (rc == -1) {
-        puts("unknown TFTP error");
-    } else if (rc == -2) {
-        printf("TFTP buffer of %d bytes is too small for %s\n",
-            len, fnip->filename);
-    } else if (rc == -3) {
-        printf("file not found: %s\n", fnip->filename);
-    } else if (rc == -4) {
-        puts("TFTP access violation");
-    } else if (rc == -5) {
-        puts("illegal TFTP operation");
-    } else if (rc == -6) {
-        puts("unknown TFTP transfer ID");
-    } else if (rc == -7) {
-        puts("no such TFTP user");
-    } else if (rc == -8) {
-        puts("TFTP blocksize negotiation failed");
-    } else if (rc == -9) {
-        puts("file exceeds maximum TFTP transfer size");
-    } else if (rc <= -10 && rc >= -15) {
-        const char *icmp_err_str;
-        switch (rc) {
-        case -ICMP_NET_UNREACHABLE - 10:
-            icmp_err_str = "net unreachable";
-            break;
-        case -ICMP_HOST_UNREACHABLE - 10:
-            icmp_err_str = "host unreachable";
-            break;
-        case -ICMP_PROTOCOL_UNREACHABLE - 10:
-            icmp_err_str = "protocol unreachable";
-            break;
-        case -ICMP_PORT_UNREACHABLE - 10:
-            icmp_err_str = "port unreachable";
-            break;
-        case -ICMP_FRAGMENTATION_NEEDED - 10:
-            icmp_err_str = "fragmentation needed and DF set";
-            break;
-        case -ICMP_SOURCE_ROUTE_FAILED - 10:
-            icmp_err_str = "source route failed";
-            break;
-        default:
-            icmp_err_str = " UNKNOWN";
-            break;
-        }
-        printf("ICMP ERROR \"%s\"\n", icmp_err_str);
-    } else if (rc == -40) {
-        printf("TFTP error occurred after %d bad packets received",
-            tftp_err.bad_tftp_packets);
-    } else if (rc == -41) {
-        printf("TFTP error occurred after missing %d responses",
-            tftp_err.no_packets);
-    } else if (rc == -42) {
-        printf("TFTP error missing block %d, expected block was %d",
-            tftp_err.blocks_missed,
-            tftp_err.blocks_received);
+    } else {
+        const char *errstr = NULL;
+        int ecode;
+        tftp_get_error_info(fnip, &tftp_err, rc, &errstr, &ecode);
+        printf("TFTP error: %s\n", errstr ? errstr : "unknown error");
     }
 
     return rc;
@@ -231,7 +179,7 @@ static int net_init(filename_ip_t *fn_ip)
 
     rc = dhcp(fn_ip, DEFAULT_BOOT_RETRIES);
     if (rc >= 0) {
-        if (ip_version == 4) {
+        if (fn_ip->ip_version == 4) {
             set_ipv4_address(fn_ip->own_ip);
         }
     } else {
@@ -239,11 +187,11 @@ static int net_init(filename_ip_t *fn_ip)
         return -101;
     }
 
-    if (ip_version == 4) {
+    if (fn_ip->ip_version == 4) {
         printf("  Using IPv4 address: %d.%d.%d.%d\n",
               (fn_ip->own_ip >> 24) & 0xFF, (fn_ip->own_ip >> 16) & 0xFF,
               (fn_ip->own_ip >>  8) & 0xFF, fn_ip->own_ip & 0xFF);
-    } else if (ip_version == 6) {
+    } else if (fn_ip->ip_version == 6) {
         char ip6_str[40];
         ipv6_to_str(fn_ip->own_ip6.addr, ip6_str);
         printf("  Using IPv6 address: %s\n", ip6_str);
@@ -261,17 +209,17 @@ static int net_init(filename_ip_t *fn_ip)
     }
 
     printf("  Using TFTP server: ");
-    if (ip_version == 4) {
+    if (fn_ip->ip_version == 4) {
         printf("%d.%d.%d.%d\n",
                (fn_ip->server_ip >> 24) & 0xFF, (fn_ip->server_ip >> 16) & 0xFF,
                (fn_ip->server_ip >>  8) & 0xFF, fn_ip->server_ip & 0xFF);
-    } else if (ip_version == 6) {
+    } else if (fn_ip->ip_version == 6) {
         char ip6_str[40];
         ipv6_to_str(fn_ip->server_ip6.addr, ip6_str);
         printf("%s\n", ip6_str);
     }
 
-    if (strlen((char *)fn_ip->filename) > 0) {
+    if (strlen(fn_ip->filename) > 0) {
         printf("  Bootfile name: '%s'\n", fn_ip->filename);
     }
 
@@ -280,7 +228,7 @@ static int net_init(filename_ip_t *fn_ip)
 
 static void net_release(filename_ip_t *fn_ip)
 {
-    if (ip_version == 4) {
+    if (fn_ip->ip_version == 4) {
         dhcp_send_release(fn_ip->fd);
     }
 }
@@ -322,7 +270,7 @@ static int handle_ins_cfg(filename_ip_t *fn_ip, char *cfg, int cfgsize)
             return -1;
         }
         *ptr = 0;
-        strncpy((char *)fn_ip->filename, insbuf, sizeof(fn_ip->filename));
+        strncpy(fn_ip->filename, insbuf, sizeof(fn_ip->filename));
         destaddr = (char *)atol(ptr + 1);
         rc = tftp_load(fn_ip, destaddr, (long)_start - (long)destaddr);
         if (rc <= 0) {
@@ -455,7 +403,7 @@ void main(void)
         panic("Network initialization failed. Halting.\n");
     }
 
-    fnlen = strlen((char *)fn_ip.filename);
+    fnlen = strlen(fn_ip.filename);
     if (fnlen > 0 && fn_ip.filename[fnlen - 1] != '/') {
         rc = net_try_direct_tftp_load(&fn_ip);
     }

From ec623990b34ab0e271141356af96d67a0c4e980d Mon Sep 17 00:00:00 2001
From: Thomas Huth <thuth@redhat.com>
Date: Tue, 22 May 2018 11:37:29 +0200
Subject: [PATCH 4/7] pc-bios/s390-ccw/net: Add support for pxelinux-style
 config files

Since it is quite cumbersome to manually create a combined kernel with
initrd image for network booting, we now support loading via pxelinux
configuration files, too. In these files, the kernel, initrd and command
line parameters can be specified seperately, and the firmware then takes
care of glueing everything together in memory after the files have been
downloaded. See this URL for details about the config file layout:
https://www.syslinux.org/wiki/index.php?title=PXELINUX

The user can either specify a config file directly as bootfile via DHCP
(but in this case, the file has to start either with "default" or a "#"
comment so we can distinguish it from binary kernels), or a folder (i.e.
the bootfile name must end with "/") where the firmware should look for
the typical pxelinux.cfg file names, e.g. based on MAC or IP address.
We also support the pxelinux.cfg DHCP options 209 and 210 from RFC 5071.

Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
Tested-by: Viktor Mihajlovski <mihajlov@linux.vnet.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 pc-bios/s390-ccw/netboot.mak |  7 +--
 pc-bios/s390-ccw/netmain.c   | 86 +++++++++++++++++++++++++++++++++++-
 2 files changed, 89 insertions(+), 4 deletions(-)

diff --git a/pc-bios/s390-ccw/netboot.mak b/pc-bios/s390-ccw/netboot.mak
index a73be367e6..8af0cfd2da 100644
--- a/pc-bios/s390-ccw/netboot.mak
+++ b/pc-bios/s390-ccw/netboot.mak
@@ -25,8 +25,9 @@ CTYPE_OBJS = isdigit.o isxdigit.o toupper.o
 %.o : $(SLOF_DIR)/lib/libc/ctype/%.c
 	$(call quiet-command,$(CC) $(LIBC_CFLAGS) -c -o $@ $<,"CC","$(TARGET_DIR)$@")
 
-STRING_OBJS = strcat.o strchr.o strcmp.o strcpy.o strlen.o strncmp.o strncpy.o \
-	      strstr.o memset.o memcpy.o memmove.o memcmp.o
+STRING_OBJS = strcat.o strchr.o strrchr.o strcpy.o strlen.o strncpy.o \
+	      strcmp.o strncmp.o strcasecmp.o strncasecmp.o strstr.o \
+	      memset.o memcpy.o memmove.o memcmp.o
 %.o : $(SLOF_DIR)/lib/libc/string/%.c
 	$(call quiet-command,$(CC) $(LIBC_CFLAGS) -c -o $@ $<,"CC","$(TARGET_DIR)$@")
 
@@ -50,7 +51,7 @@ libc.a: $(LIBCOBJS)
 # libnet files:
 
 LIBNETOBJS := args.o dhcp.o dns.o icmpv6.o ipv6.o tcp.o udp.o bootp.o \
-	      dhcpv6.o ethernet.o ipv4.o ndp.o tftp.o
+	      dhcpv6.o ethernet.o ipv4.o ndp.o tftp.o pxelinux.o
 LIBNETCFLAGS := $(QEMU_CFLAGS) -DDHCPARCH=0x1F $(LIBC_INC) $(LIBNET_INC)
 
 %.o : $(SLOF_DIR)/lib/libnet/%.c
diff --git a/pc-bios/s390-ccw/netmain.c b/pc-bios/s390-ccw/netmain.c
index d007fb7a86..c059546480 100644
--- a/pc-bios/s390-ccw/netmain.c
+++ b/pc-bios/s390-ccw/netmain.c
@@ -30,6 +30,7 @@
 #include <ipv6.h>
 #include <dns.h>
 #include <time.h>
+#include <pxelinux.h>
 
 #include "s390-ccw.h"
 #include "virtio.h"
@@ -41,12 +42,14 @@ extern char _start[];
 
 #define KERNEL_ADDR             ((void *)0L)
 #define KERNEL_MAX_SIZE         ((long)_start)
+#define ARCH_COMMAND_LINE_SIZE  896              /* Taken from Linux kernel */
 
 char stack[PAGE_SIZE * 8] __attribute__((aligned(PAGE_SIZE)));
 IplParameterBlock iplb __attribute__((aligned(PAGE_SIZE)));
 static char cfgbuf[2048];
 
 static SubChannelId net_schid = { .one = 1 };
+static uint8_t mac[6];
 static uint64_t dest_timer;
 
 static uint64_t get_timer_ms(void)
@@ -159,7 +162,6 @@ static int tftp_load(filename_ip_t *fnip, void *buffer, int len)
 
 static int net_init(filename_ip_t *fn_ip)
 {
-    uint8_t mac[6];
     int rc;
 
     memset(fn_ip, 0, sizeof(filename_ip_t));
@@ -233,6 +235,66 @@ static void net_release(filename_ip_t *fn_ip)
     }
 }
 
+/**
+ * Load a kernel with initrd (i.e. with the information that we've got from
+ * a pxelinux.cfg config file)
+ */
+static int load_kernel_with_initrd(filename_ip_t *fn_ip,
+                                   struct pl_cfg_entry *entry)
+{
+    int rc;
+
+    printf("Loading pxelinux.cfg entry '%s'\n", entry->label);
+
+    if (!entry->kernel) {
+        printf("Kernel entry is missing!\n");
+        return -1;
+    }
+
+    strncpy(fn_ip->filename, entry->kernel, sizeof(fn_ip->filename));
+    rc = tftp_load(fn_ip, KERNEL_ADDR, KERNEL_MAX_SIZE);
+    if (rc < 0) {
+        return rc;
+    }
+
+    if (entry->initrd) {
+        uint64_t iaddr = (rc + 0xfff) & ~0xfffUL;
+
+        strncpy(fn_ip->filename, entry->initrd, sizeof(fn_ip->filename));
+        rc = tftp_load(fn_ip, (void *)iaddr, KERNEL_MAX_SIZE - iaddr);
+        if (rc < 0) {
+            return rc;
+        }
+        /* Patch location and size: */
+        *(uint64_t *)0x10408 = iaddr;
+        *(uint64_t *)0x10410 = rc;
+        rc += iaddr;
+    }
+
+    if (entry->append) {
+        strncpy((char *)0x10480, entry->append, ARCH_COMMAND_LINE_SIZE);
+    }
+
+    return rc;
+}
+
+#define MAX_PXELINUX_ENTRIES 16
+
+static int net_try_pxelinux_cfg(filename_ip_t *fn_ip)
+{
+    struct pl_cfg_entry entries[MAX_PXELINUX_ENTRIES];
+    int num_ent, def_ent = 0;
+
+    num_ent = pxelinux_load_parse_cfg(fn_ip, mac, NULL, DEFAULT_TFTP_RETRIES,
+                                      cfgbuf, sizeof(cfgbuf),
+                                      entries, MAX_PXELINUX_ENTRIES, &def_ent);
+    if (num_ent > 0) {
+        return load_kernel_with_initrd(fn_ip, &entries[def_ent]);
+    }
+
+    return -1;
+}
+
 /**
  * Load via information from a .INS file (which can be found on CD-ROMs
  * for example)
@@ -302,6 +364,25 @@ static int net_try_direct_tftp_load(filename_ip_t *fn_ip)
         if (!strncmp("* ", cfgbuf, 2)) {
             return handle_ins_cfg(fn_ip, cfgbuf, rc);
         }
+        /*
+         * pxelinux.cfg support via bootfile name is just here for developers'
+         * convenience (it eases testing with the built-in DHCP server of QEMU
+         * that does not support RFC 5071). The official way to configure a
+         * pxelinux.cfg file name is to use DHCP options 209 and 210 instead.
+         * So only use the pxelinux.cfg parser here for files that start with
+         * a magic comment string.
+         */
+        if (!strncasecmp("# pxelinux", cfgbuf, 10)) {
+            struct pl_cfg_entry entries[MAX_PXELINUX_ENTRIES];
+            int num_ent, def_ent = 0;
+
+            num_ent = pxelinux_parse_cfg(cfgbuf, sizeof(cfgbuf), entries,
+                                         MAX_PXELINUX_ENTRIES, &def_ent);
+            if (num_ent <= 0) {
+                return -1;
+            }
+            return load_kernel_with_initrd(fn_ip, &entries[def_ent]);
+        }
     }
 
     /* Move kernel to right location */
@@ -407,6 +488,9 @@ void main(void)
     if (fnlen > 0 && fn_ip.filename[fnlen - 1] != '/') {
         rc = net_try_direct_tftp_load(&fn_ip);
     }
+    if (rc <= 0) {
+        rc = net_try_pxelinux_cfg(&fn_ip);
+    }
 
     net_release(&fn_ip);
 

From 0d8261b506933c245b79ca6a57422dc81d8989c1 Mon Sep 17 00:00:00 2001
From: Thomas Huth <thuth@redhat.com>
Date: Tue, 22 May 2018 11:53:51 +0200
Subject: [PATCH 5/7] pc-bios/s390-ccw/net: Try to load pxelinux.cfg file
 accoring to the UUID

With the STSI instruction, we can get the UUID of the current VM instance,
so we can support loading pxelinux config files via UUID in the file name,
too.

Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
Tested-by: Viktor Mihajlovski <mihajlov@linux.vnet.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 pc-bios/s390-ccw/netmain.c | 56 +++++++++++++++++++++++++++++++++++++-
 1 file changed, 55 insertions(+), 1 deletion(-)

diff --git a/pc-bios/s390-ccw/netmain.c b/pc-bios/s390-ccw/netmain.c
index c059546480..0392131c27 100644
--- a/pc-bios/s390-ccw/netmain.c
+++ b/pc-bios/s390-ccw/netmain.c
@@ -44,6 +44,9 @@ extern char _start[];
 #define KERNEL_MAX_SIZE         ((long)_start)
 #define ARCH_COMMAND_LINE_SIZE  896              /* Taken from Linux kernel */
 
+/* STSI 3.2.2 offset of first vmdb + offset of uuid inside vmdb */
+#define STSI322_VMDB_UUID_OFFSET ((8 + 12) * 4)
+
 char stack[PAGE_SIZE * 8] __attribute__((aligned(PAGE_SIZE)));
 IplParameterBlock iplb __attribute__((aligned(PAGE_SIZE)));
 static char cfgbuf[2048];
@@ -235,6 +238,56 @@ static void net_release(filename_ip_t *fn_ip)
     }
 }
 
+/**
+ * Retrieve the Universally Unique Identifier of the VM.
+ * @return UUID string, or NULL in case of errors
+ */
+static const char *get_uuid(void)
+{
+    register int r0 asm("0");
+    register int r1 asm("1");
+    uint8_t *mem, *buf, uuid[16];
+    int i, cc, chk = 0;
+    static char uuid_str[37];
+
+    mem = malloc(2 * PAGE_SIZE);
+    if (!mem) {
+        puts("Out of memory ... can not get UUID.");
+        return NULL;
+    }
+    buf = (uint8_t *)(((uint64_t)mem + PAGE_SIZE - 1) & ~(PAGE_SIZE - 1));
+    memset(buf, 0, PAGE_SIZE);
+
+    /* Get SYSIB 3.2.2 */
+    r0 = (3 << 28) | 2;
+    r1 = 2;
+    asm volatile(" stsi 0(%[addr])\n"
+                 " ipm  %[cc]\n"
+                 " srl  %[cc],28\n"
+                 : [cc] "=d" (cc)
+                 : "d" (r0), "d" (r1), [addr] "a" (buf)
+                 : "cc", "memory");
+    if (cc) {
+        return NULL;
+    }
+
+    for (i = 0; i < 16; i++) {
+        uuid[i] = buf[STSI322_VMDB_UUID_OFFSET + i];
+        chk |= uuid[i];
+    }
+    free(mem);
+    if (!chk) {
+        return NULL;
+    }
+
+    sprintf(uuid_str, "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-"
+            "%02x%02x%02x%02x%02x%02x", uuid[0], uuid[1], uuid[2], uuid[3],
+            uuid[4], uuid[5], uuid[6], uuid[7], uuid[8], uuid[9], uuid[10],
+            uuid[11], uuid[12], uuid[13], uuid[14], uuid[15]);
+
+    return uuid_str;
+}
+
 /**
  * Load a kernel with initrd (i.e. with the information that we've got from
  * a pxelinux.cfg config file)
@@ -285,7 +338,8 @@ static int net_try_pxelinux_cfg(filename_ip_t *fn_ip)
     struct pl_cfg_entry entries[MAX_PXELINUX_ENTRIES];
     int num_ent, def_ent = 0;
 
-    num_ent = pxelinux_load_parse_cfg(fn_ip, mac, NULL, DEFAULT_TFTP_RETRIES,
+    num_ent = pxelinux_load_parse_cfg(fn_ip, mac, get_uuid(),
+                                      DEFAULT_TFTP_RETRIES,
                                       cfgbuf, sizeof(cfgbuf),
                                       entries, MAX_PXELINUX_ENTRIES, &def_ent);
     if (num_ent > 0) {

From 63c93fac18546ef9468c7b522bad0ae43f9f58ba Mon Sep 17 00:00:00 2001
From: Thomas Huth <thuth@redhat.com>
Date: Thu, 14 Jun 2018 10:38:22 +0200
Subject: [PATCH 6/7] pc-bios/s390-ccw: Optimize the s390-netboot.img for size

The -O2 optimization flag is passed via CFLAGS to the firmware Makefile,
but in netbook.mak, we've got some rules that only use QEMU_CFLAGS for
compiling the libc and libnet from SLOF, so these files get compiled
without optimization so far. Use CFLAGS here, too, to create faster
and smaller code.

We can additionally save some more bytes in the firmware images by compi-
ling the code with -fno-asynchronous-unwind-tables. This will omit some
ELF sections (used for stack unwinding for example) from the image that
we do not need in the firmware.

Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 pc-bios/s390-ccw/Makefile    | 1 +
 pc-bios/s390-ccw/netboot.mak | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/pc-bios/s390-ccw/Makefile b/pc-bios/s390-ccw/Makefile
index 439e3cc9c9..1eb316b02f 100644
--- a/pc-bios/s390-ccw/Makefile
+++ b/pc-bios/s390-ccw/Makefile
@@ -15,6 +15,7 @@ OBJECTS = start.o main.o bootmap.o jump2ipl.o sclp.o menu.o \
 QEMU_CFLAGS := $(filter -W%, $(QEMU_CFLAGS))
 QEMU_CFLAGS += -ffreestanding -fno-delete-null-pointer-checks -msoft-float
 QEMU_CFLAGS += -march=z900 -fPIE -fno-strict-aliasing
+QEMU_CFLAGS += -fno-asynchronous-unwind-tables
 QEMU_CFLAGS += $(call cc-option, $(QEMU_CFLAGS), -fno-stack-protector)
 LDFLAGS += -Wl,-pie -nostdlib
 
diff --git a/pc-bios/s390-ccw/netboot.mak b/pc-bios/s390-ccw/netboot.mak
index 8af0cfd2da..14e96b2aa6 100644
--- a/pc-bios/s390-ccw/netboot.mak
+++ b/pc-bios/s390-ccw/netboot.mak
@@ -19,7 +19,7 @@ s390-netboot.img: s390-netboot.elf
 
 # libc files:
 
-LIBC_CFLAGS :=  $(QEMU_CFLAGS) $(LIBC_INC) $(LIBNET_INC)
+LIBC_CFLAGS :=  $(QEMU_CFLAGS) $(CFLAGS) $(LIBC_INC) $(LIBNET_INC)
 
 CTYPE_OBJS = isdigit.o isxdigit.o toupper.o
 %.o : $(SLOF_DIR)/lib/libc/ctype/%.c
@@ -52,7 +52,7 @@ libc.a: $(LIBCOBJS)
 
 LIBNETOBJS := args.o dhcp.o dns.o icmpv6.o ipv6.o tcp.o udp.o bootp.o \
 	      dhcpv6.o ethernet.o ipv4.o ndp.o tftp.o pxelinux.o
-LIBNETCFLAGS := $(QEMU_CFLAGS) -DDHCPARCH=0x1F $(LIBC_INC) $(LIBNET_INC)
+LIBNETCFLAGS := $(QEMU_CFLAGS) $(CFLAGS) -DDHCPARCH=0x1F $(LIBC_INC) $(LIBNET_INC)
 
 %.o : $(SLOF_DIR)/lib/libnet/%.c
 	$(call quiet-command,$(CC) $(LIBNETCFLAGS) -c -o $@ $<,"CC","$(TARGET_DIR)$@")

From 4046826d46618ef7eb11df41fe8878669ce6991c Mon Sep 17 00:00:00 2001
From: Thomas Huth <thuth@redhat.com>
Date: Mon, 18 Jun 2018 15:24:44 +0200
Subject: [PATCH 7/7] pc-bios/s390-ccw: Update the s390-netboot.img binary

This binary now contains the support for pxelinux.cfg-style network
booting.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 pc-bios/s390-netboot.img | Bin 87872 -> 54944 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/pc-bios/s390-netboot.img b/pc-bios/s390-netboot.img
index ef561efd2e222e03138705e9cf30d9e125a7970e..2c6886efb8320ff711589119ffbf077e68ec8784 100644
GIT binary patch
literal 54944
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

literal 87872
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