[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [qemu-s390x] [PATCH 04/15] s390-bios: Extend find_dev()
From: |
Thomas Huth |
Subject: |
Re: [Qemu-devel] [qemu-s390x] [PATCH 04/15] s390-bios: Extend find_dev() for non-virtio devices |
Date: |
Mon, 11 Feb 2019 17:38:22 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 |
On 2019-01-29 14:29, Jason J. Herne wrote:
> We need a method for finding the subchannel of a dasd device. Let's
> modify find_dev to handle this since it mostly does what we need. Up to
> this point find_dev has been specific to only virtio devices.
>
> Signed-off-by: Jason J. Herne <address@hidden>
> Acked-by: Halil Pasic <address@hidden>
> ---
> pc-bios/s390-ccw/main.c | 16 +++++++++++-----
> 1 file changed, 11 insertions(+), 5 deletions(-)
>
> diff --git a/pc-bios/s390-ccw/main.c b/pc-bios/s390-ccw/main.c
> index 67df421..7e3f65e 100644
> --- a/pc-bios/s390-ccw/main.c
> +++ b/pc-bios/s390-ccw/main.c
> @@ -49,6 +49,12 @@ unsigned int get_loadparm_index(void)
> return atoui(loadparm_str);
> }
>
> +/*
> + * Find the subchannel connected to the given device (dev_no) and fill in the
> + * subchannel information block (schib) with the connected subchannel's info.
> + * NOTE: The global variable blk_schid is updated to contain the subchannel
> + * information.
> + */
> static bool find_dev(Schib *schib, int dev_no)
> {
> int i, r;
> @@ -62,15 +68,15 @@ static bool find_dev(Schib *schib, int dev_no)
> if (!schib->pmcw.dnv) {
> continue;
> }
> - if (!virtio_is_supported(blk_schid)) {
> - continue;
> - }
> +
> /* Skip net devices since no IPLB is created and therefore no
> - * no network bootloader has been loaded
> + * network bootloader has been loaded
> */
> - if (virtio_get_device_type() == VIRTIO_ID_NET && dev_no < 0) {
> + if (virtio_is_supported(blk_schid) &&
> + virtio_get_device_type() == VIRTIO_ID_NET && dev_no < 0) {
> continue;
> }
> +
> if ((dev_no < 0) || (schib->pmcw.dev == dev_no)) {
> return true;
> }
>
Not sure whether this really works as expected? If dev_no is -1, this
used to return the first supported virtio device. Now it returns the
first device that could be found - but how are we sure that we can boot
from that device?
Thomas
- Re: [Qemu-devel] [qemu-s390x] [PATCH 04/15] s390-bios: Extend find_dev() for non-virtio devices,
Thomas Huth <=