From: Jared Rossi <jrossi@linux.ibm.com>
To: Thomas Huth <thuth@redhat.com>, qemu-s390x@nongnu.org
Cc: frankja@linux.ibm.com, Sebastian Mitterle <smitterl@redhat.com>,
qemu-devel@nongnu.org
Subject: Re: [PATCH v5 00/19] s390x: Add Full Boot Order Support
Date: Thu, 7 Nov 2024 15:42:16 -0500 [thread overview]
Message-ID: <af01b629-7df1-4f55-9b18-3f3bc1d393c9@linux.ibm.com> (raw)
In-Reply-To: <6d6466b5-1d6c-49b3-abb0-f268aa617c6a@redhat.com>
On 11/6/24 6:10 AM, Thomas Huth wrote:
> On 05/11/2024 17.42, Jared Rossi wrote:
>> Hi Thomas, Sebastian,
>>
>> It looks like this is simply caused by the "is_cdrom" value only ever
>> being set
>> to true. I think it is a one-line fix that just makes sure to
>> initialize the
>> value to false each time we try a new device:
>>
>> diff --git a/pc-bios/s390-ccw/main.c b/pc-bios/s390-ccw/main.c
>> index a4d1c05aac..3fdba0bedc 100644
>> --- a/pc-bios/s390-ccw/main.c
>> +++ b/pc-bios/s390-ccw/main.c
>> @@ -214,6 +214,7 @@ static void boot_setup(void)
>> static bool find_boot_device(void)
>> {
>> VDev *vdev = virtio_get_device();
>> + vdev->is_cdrom = false;
>> bool found = false;
>>
>> switch (iplb.pbt) {
>>
>> I tested it with the two scenarios you mention and with the existing
>> qtests,
>> and it seems to work correctly now.
>
> Agreed, this seems to fix the issue when all devices are properly
> marked with bootindex properties. But it still persists in case the
> BIOS has to scan for the boot device, e.g.:
>
> qemu-system-s390x -accel kvm -m 2G -nographic \
> -drive if=none,id=d1,file=/tmp/bad.dat,format=raw,media=cdrom \
> -device virtio-scsi -device scsi-cd,drive=d1 \
> -drive if=none,id=d2,file=good.qcow2 -device virtio-blk,drive=d2
>
> Isn't there a better place to set the is_cdrom variable?
>
> Thomas
>
Hi Thomas,
What I found is that the original issue with clearing the "is_cdrom"
value is
just as easily fixed for both indexed devices and probed devices by moving
where "is_cdrom" is set to false:
diff --git a/pc-bios/s390-ccw/main.c b/pc-bios/s390-ccw/main.c
index a4d1c05aac..7509755e36 100644
--- a/pc-bios/s390-ccw/main.c
+++ b/pc-bios/s390-ccw/main.c
@@ -242,6 +242,7 @@ static bool find_boot_device(void)
static int virtio_setup(void)
{
VDev *vdev = virtio_get_device();
+ vdev->is_cdrom = false;
int ret;
switch (vdev->senseid.cu_model) {
Unfortunately when verifying the fix I found another unrelated issue with
probing, which is that only the first device attached to the scsi controller
will be found. This is because virtio_scsi_setup() itself contains a
probing
loop to find a LUN when none is specified, and, unsurprisingly, it returns
the first thing it finds attached to the controller. As a result, the main
device probing loop will move on after trying only one LUN per controller.
Fixing this won't be a simple one-liner because it will require
implementation
of nested probing for scsi devices, such that all LUNS on the controller are
probed before moving to the next device.
Regards,
Jared Rossi
next prev parent reply other threads:[~2024-11-07 20:43 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-20 1:29 [PATCH v5 00/19] s390x: Add Full Boot Order Support jrossi
2024-10-20 1:29 ` [PATCH v5 01/19] hw/s390x/ipl: Provide more memory to the s390-ccw.img firmware jrossi
2024-10-20 1:29 ` [PATCH v5 02/19] pc-bios/s390-ccw: Use the libc from SLOF and remove sclp prints jrossi
2024-10-22 17:36 ` Thomas Huth
2024-10-22 20:12 ` Jared Rossi
2024-10-23 4:51 ` Thomas Huth
2024-10-23 10:30 ` Jared Rossi
2024-10-20 1:29 ` [PATCH v5 03/19] pc-bios/s390-ccw: Link the netboot code into the main s390-ccw.img binary jrossi
2024-10-20 1:29 ` [PATCH v5 04/19] hw/s390x: Remove the possibility to load the s390-netboot.img binary jrossi
2024-10-20 1:29 ` [PATCH v5 05/19] pc-bios/s390-ccw: Merge netboot.mak into the main Makefile jrossi
2024-10-20 1:29 ` [PATCH v5 06/19] docs/system/s390x/bootdevices: Update the documentation about network booting jrossi
2024-10-20 1:29 ` [PATCH v5 07/19] pc-bios/s390-ccw: Remove panics from ISO IPL path jrossi
2024-10-21 8:41 ` Thomas Huth
2024-10-20 1:29 ` [PATCH v5 08/19] pc-bios/s390-ccw: Remove panics from ECKD " jrossi
2024-10-21 9:12 ` Thomas Huth
2024-10-20 1:29 ` [PATCH v5 09/19] pc-bios/s390-ccw: Remove panics from SCSI " jrossi
2024-10-21 9:26 ` Thomas Huth
2024-10-20 1:29 ` [PATCH v5 10/19] pc-bios/s390-ccw: Remove panics from DASD " jrossi
2024-10-20 1:29 ` [PATCH v5 11/19] pc-bios/s390-ccw: Remove panics from Netboot " jrossi
2024-10-21 9:30 ` Thomas Huth
2024-10-20 1:29 ` [PATCH v5 12/19] pc-bios/s390-ccw: Enable failed IPL to return after error jrossi
2024-10-20 1:29 ` [PATCH v5 13/19] include/hw/s390x: Add include files for common IPL structs jrossi
2024-10-20 1:29 ` [PATCH v5 14/19] s390x: Add individual loadparm assignment to CCW device jrossi
2024-10-21 12:26 ` Thomas Huth
2024-10-31 8:45 ` Thomas Huth
2024-11-05 20:22 ` Jared Rossi
2024-10-20 1:29 ` [PATCH v5 15/19] hw/s390x: Build an IPLB for each boot device jrossi
2024-10-21 12:43 ` Thomas Huth
2024-10-22 13:13 ` Thomas Huth
2024-10-22 14:25 ` Jared Rossi
2024-10-20 1:29 ` [PATCH v5 16/19] s390x: Rebuild IPLB for SCSI device directly from DIAG308 jrossi
2024-10-20 1:29 ` [PATCH v5 17/19] pc-bios/s390x: Enable multi-device boot loop jrossi
2024-10-22 7:33 ` Thomas Huth
2024-10-20 1:29 ` [PATCH v5 18/19] docs/system: Update documentation for s390x IPL jrossi
2024-10-20 1:29 ` [PATCH v5 19/19] tests/qtest: Add s390x boot order tests to cdrom-test.c jrossi
2024-10-21 14:52 ` Thomas Huth
2024-10-31 15:50 ` [PATCH v5 00/19] s390x: Add Full Boot Order Support Thomas Huth
2024-11-05 16:42 ` Jared Rossi
2024-11-06 11:10 ` Thomas Huth
2024-11-07 20:42 ` Jared Rossi [this message]
2024-11-08 14:37 ` Thomas Huth
2024-11-11 12:23 ` Thomas Huth
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=af01b629-7df1-4f55-9b18-3f3bc1d393c9@linux.ibm.com \
--to=jrossi@linux.ibm.com \
--cc=frankja@linux.ibm.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-s390x@nongnu.org \
--cc=smitterl@redhat.com \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).