qemu-s390x
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 17/18] pc-bios/s390x: Enable multi-device boot loop


From: Jared Rossi
Subject: Re: [PATCH 17/18] pc-bios/s390x: Enable multi-device boot loop
Date: Mon, 30 Sep 2024 09:52:09 -0400
User-agent: Mozilla Thunderbird



On 9/30/24 9:08 AM, Thomas Huth wrote:
On 27/09/2024 02.51, jrossi@linux.ibm.com wrote:
From: Jared Rossi <jrossi@linux.ibm.com>

Allow attempts to boot from multiple IPL devices. If the first device fails to IPL, select the pre-built IPLB for the next device in the boot order and attempt to IPL from it. Continue this process until IPL is successful or there are no
devices left to try.

Signed-off-by: Jared Rossi <jrossi@linux.ibm.com>

---
...
diff --git a/pc-bios/s390-ccw/main.c b/pc-bios/s390-ccw/main.c
index d7c457e0ed..e38eedd83a 100644
--- a/pc-bios/s390-ccw/main.c
+++ b/pc-bios/s390-ccw/main.c
@@ -23,7 +23,7 @@ static SubChannelId blk_schid = { .one = 1 };
  static char loadparm_str[LOADPARM_LEN + 1];
  QemuIplParameters qipl;
  IplParameterBlock iplb __attribute__((__aligned__(PAGE_SIZE)));
-static bool have_iplb;
+bool have_iplb;
  static uint16_t cutype;
  LowCore *lowcore; /* Yes, this *is* a pointer to address 0 */
  @@ -55,6 +55,12 @@ void write_iplb_location(void)
      }
  }
  +static void copy_qipl(void)
+{
+    QemuIplParameters *early_qipl = (QemuIplParameters *)QIPL_ADDRESS;
+    memcpy(&qipl, early_qipl, sizeof(QemuIplParameters));
+}
+
  unsigned int get_loadparm_index(void)
  {
      return atoi(loadparm_str);
@@ -152,6 +158,7 @@ static void menu_setup(void)
        /* If loadparm was set to any other value, then do not enable menu */
      if (memcmp(loadparm_str, LOADPARM_EMPTY, LOADPARM_LEN) != 0) {
+        menu_set_parms(qipl.qipl_flags && ~BOOT_MENU_FLAG_MASK, 0);

That looks supsicious ... did you mean just one "&" instead of "&&" here?


Good catch, yes it should be a single “&”.

Jared Rossi



reply via email to

[Prev in Thread] Current Thread [Next in Thread]