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