[Top][All Lists]

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

Re: [PATCH] pc-bios: s390x: Only set lowcore iplb address on list-direct

From: Jason J. Herne
Subject: Re: [PATCH] pc-bios: s390x: Only set lowcore iplb address on list-directed IPL
Date: Mon, 17 Aug 2020 13:51:13 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.1.0

On 8/17/20 12:30 PM, Cornelia Huck wrote:
On Mon, 17 Aug 2020 10:17:34 -0400
"Jason J. Herne" <jjherne@linux.ibm.com> wrote:

The POP states that the IPLB location is only written to 0x14 for
list-directed IPL. Some operating systems expect 0x14 to not change on
boot and will fail IPL if it does change.

Fixes: 9bfc04f9ef6802fff0

Should be

Fixes: 9bfc04f9ef68 ("pc-bios: s390x: Save iplb location in lowcore")

Signed-off-by: Jason J. Herne <jjherne@linux.ibm.com>
Reviewed-by: Janosch Frank <frankja@de.ibm.com>
  pc-bios/s390-ccw/jump2ipl.c | 5 ++++-
  1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/pc-bios/s390-ccw/jump2ipl.c b/pc-bios/s390-ccw/jump2ipl.c
index 767012bf0c..5e3e13f4b0 100644
--- a/pc-bios/s390-ccw/jump2ipl.c
+++ b/pc-bios/s390-ccw/jump2ipl.c
@@ -33,7 +33,10 @@ void jump_to_IPL_code(uint64_t address)
      /* store the subsystem information _after_ the bootmap was loaded */
-    write_iplb_location();
+    if (iplb.pbt != S390_IPL_TYPE_CCW) {
+            write_iplb_location();
+    }

What happens for ipl types other than CCW and FCP? IOW, should that
rather be a positive check for S390_IPL_TYPE_FCP?

/* prevent unknown IPL types in the guest */
      if (iplb.pbt == S390_IPL_TYPE_QEMU_SCSI) {

Based on my (admittedly limited) understanding of the architecture and
code, I believe write_iplb_location() should be called at least for
S390_IPL_TYPE_FCP but I'm not 100% sure on S390_IPL_TYPE_QEMU_SCSI.
Perhaps Janosch has an idea?

It was originally unconditional, and my new conditional excludes vfio
CCW which is definitely a step in the right direction, in any case :).

-- Jason J. Herne (jjherne@linux.ibm.com)

reply via email to

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