Re: [Qemu-devel] [qemu-s390x] [PATCH v3 4/8] s390-ccw: interactive boot menu for eckd dasd (menu setup)
On 01/17/2018 01:11 AM, Thomas Huth wrote: On 16.01.2018 20:37, Collin L. Walling wrote: On 01/16/2018 01:23 PM, Thomas Huth wrote: On 15.01.2018 17:44, 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 --- [...] diff --git a/pc-bios/s390-ccw/iplb.h b/pc-bios/s390-ccw/iplb.h index fe909d2..da29e6e 100644 --- a/pc-bios/s390-ccw/iplb.h +++ b/pc-bios/s390-ccw/iplb.h @@ -81,6 +81,9 @@ extern IplParameterBlock iplb __attribute__((__aligned__(PAGE_SIZE))); #define S390_IPL_TYPE_CCW 0x02 #define S390_IPL_TYPE_QEMU_SCSI 0xff +#define LOADPARM_PROMPT "PROMPT " +#define LOADPARM_EMPTY "" I've got a question: Is there a (public) specification document available somewhere for the loadparm field? Unfortunately there does not seems to be any kind of documentation regarding loadparm for KVM on IBM z. Most of the information available on the IBM Knowledge Center focuses on z/VM, which isn't very helpful in this case :( Ok, too bad :-( Are there any specific questions that I can help with? I was just wondering whether there are pre-defined values for this field, e.g. is "PROMPT" something you came up with, or is this a value that has been documented in a specification somewhere? ... I'm just curious: If there is a list of pre-defined values somewhere, what are the other values that the s390-ccw bios does not support yet? We're mimicking zipl's behavior. It currently supports two use cases for loadparm: setting an explicit boot index (by providing a valid integer), and showing the boot menu without a timeout (by providing the string 'prompt'). Thomas -- - Collin L Walling
Re: [Qemu-devel] [qemu-s390x] [PATCH v3 4/8] s390-ccw: interactive boot menu for eckd dasd (menu setup)
On 16.01.2018 20:37, Collin L. Walling wrote: > On 01/16/2018 01:23 PM, Thomas Huth wrote: >> On 15.01.2018 17:44, 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 >>> --- >> [...] >>> diff --git a/pc-bios/s390-ccw/iplb.h b/pc-bios/s390-ccw/iplb.h >>> index fe909d2..da29e6e 100644 >>> --- a/pc-bios/s390-ccw/iplb.h >>> +++ b/pc-bios/s390-ccw/iplb.h >>> @@ -81,6 +81,9 @@ extern IplParameterBlock iplb >>> __attribute__((__aligned__(PAGE_SIZE))); >>> #define S390_IPL_TYPE_CCW 0x02 >>> #define S390_IPL_TYPE_QEMU_SCSI 0xff >>> +#define LOADPARM_PROMPT "PROMPT " >>> +#define LOADPARM_EMPTY "" >> I've got a question: Is there a (public) specification document >> available somewhere for the loadparm field? > > Unfortunately there does not seems to be any kind of documentation > regarding loadparm for > KVM on IBM z. Most of the information available on the IBM Knowledge > Center focuses on > z/VM, which isn't very helpful in this case :( Ok, too bad :-( > Are there any specific questions that I can help with? I was just wondering whether there are pre-defined values for this field, e.g. is "PROMPT" something you came up with, or is this a value that has been documented in a specification somewhere? ... I'm just curious: If there is a list of pre-defined values somewhere, what are the other values that the s390-ccw bios does not support yet? Thomas
Re: [Qemu-devel] [qemu-s390x] [PATCH v3 4/8] s390-ccw: interactive boot menu for eckd dasd (menu setup)
On 01/16/2018 01:23 PM, Thomas Huth wrote: On 15.01.2018 17:44, 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 --- [...] diff --git a/pc-bios/s390-ccw/iplb.h b/pc-bios/s390-ccw/iplb.h index fe909d2..da29e6e 100644 --- a/pc-bios/s390-ccw/iplb.h +++ b/pc-bios/s390-ccw/iplb.h @@ -81,6 +81,9 @@ extern IplParameterBlock iplb __attribute__((__aligned__(PAGE_SIZE))); #define S390_IPL_TYPE_CCW 0x02 #define S390_IPL_TYPE_QEMU_SCSI 0xff +#define LOADPARM_PROMPT "PROMPT " +#define LOADPARM_EMPTY "" I've got a question: Is there a (public) specification document available somewhere for the loadparm field? Unfortunately there does not seems to be any kind of documentation regarding loadparm for KVM on IBM z. Most of the information available on the IBM Knowledge Center focuses on z/VM, which isn't very helpful in this case :( Are there any specific questions that I can help with? [...] diff --git a/pc-bios/s390-ccw/menu.h b/pc-bios/s390-ccw/menu.h new file mode 100644 index 000..04b1db1 --- /dev/null +++ b/pc-bios/s390-ccw/menu.h @@ -0,0 +1,23 @@ +/* + * QEMU S390 Interactive Boot Menu + * + * Copyright 2017 IBM Corp. + * Author: Collin L. Walling + * + * 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 Thanks for the review. -- - Collin L Walling