On 23.01.2018 19:26, Collin L. Walling wrote: > Reads boot menu flag and timeout values from the iplb and > sets the respective fields for the menu. > > Signed-off-by: Collin L. Walling <wall...@linux.vnet.ibm.com> > --- > pc-bios/s390-ccw/Makefile | 2 +- > pc-bios/s390-ccw/iplb.h | 3 +++ > pc-bios/s390-ccw/main.c | 21 +++++++++++++++++++++ > pc-bios/s390-ccw/menu.c | 26 ++++++++++++++++++++++++++ > pc-bios/s390-ccw/menu.h | 23 +++++++++++++++++++++++ > 5 files changed, 74 insertions(+), 1 deletion(-) > create mode 100644 pc-bios/s390-ccw/menu.c > create mode 100644 pc-bios/s390-ccw/menu.h [...] > diff --git a/pc-bios/s390-ccw/menu.c b/pc-bios/s390-ccw/menu.c > new file mode 100644 > index 0000000..e15a7f2 > --- /dev/null > +++ b/pc-bios/s390-ccw/menu.c > @@ -0,0 +1,26 @@ > +/* > + * QEMU S390 Interactive Boot Menu > + * > + * Copyright 2017 IBM Corp.
Happy new year? > + * Author: Collin L. Walling <wall...@linux.vnet.ibm.com> > + * > + * This work is licensed under the terms of the GNU GPL, version 2 or (at > + * your option) any later version. See the COPYING file in the top-level > + * directory. > + */ > + > +#include "menu.h" > + > +static uint8_t flags; > +static uint64_t timeout; > + > +void menu_set_parms(uint8_t boot_menu_flag, uint16_t boot_menu_timeout) > +{ > + flags = boot_menu_flag; > + timeout = boot_menu_timeout; > +} > + > +int menu_check_flags(uint8_t check_flags) > +{ > + return flags & check_flags; > +} > diff --git a/pc-bios/s390-ccw/menu.h b/pc-bios/s390-ccw/menu.h > new file mode 100644 > index 0000000..04b1db1 > --- /dev/null > +++ b/pc-bios/s390-ccw/menu.h > @@ -0,0 +1,23 @@ > +/* > + * QEMU S390 Interactive Boot Menu > + * > + * Copyright 2017 IBM Corp. You might want to bump that to 2018, too. > + * Author: Collin L. Walling <wall...@linux.vnet.ibm.com> > + * > + * This work is licensed under the terms of the GNU GPL, version 2 or (at > + * your option) any later version. See the COPYING file in the top-level > + * directory. > + */ > + > +#ifndef MENU_H > +#define MENU_H > + > +#include "libc.h" > + > +#define BOOT_MENU_FLAG_BOOT_OPTS 0x80 > +#define BOOT_MENU_FLAG_ZIPL_OPTS 0x40 > + > +void menu_set_parms(uint8_t boot_menu_flags, uint16_t boot_menu_timeout); > +bool menu_check_flags(uint8_t check_flags); > + > +#endif /* MENU_H */ > Reviewed-by: Thomas Huth <th...@redhat.com>