<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bwlp/qemu.git/pc-bios/s390-ccw/main.c, branch spice_video_codecs</title>
<subtitle>Experimental fork of QEMU with video encoding patches</subtitle>
<id>https://git.openslx.org/bwlp/qemu.git/atom/pc-bios/s390-ccw/main.c?h=spice_video_codecs</id>
<link rel='self' href='https://git.openslx.org/bwlp/qemu.git/atom/pc-bios/s390-ccw/main.c?h=spice_video_codecs'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/'/>
<updated>2022-07-06T16:35:10+00:00</updated>
<entry>
<title>pc-bios/s390-ccw: Split virtio-scsi code from virtio_blk_setup_device()</title>
<updated>2022-07-06T16:35:10+00:00</updated>
<author>
<name>Thomas Huth</name>
</author>
<published>2022-07-04T11:19:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=cf30b7c4a9b2c64518be8037c2e6670aacdb00b9'/>
<id>urn:sha1:cf30b7c4a9b2c64518be8037c2e6670aacdb00b9</id>
<content type='text'>
The next patch is going to add more virtio-block specific code to
virtio_blk_setup_device(), and if the virtio-scsi code is also in
there, this is more cumbersome. And the calling function virtio_setup()
in main.c looks at the device type already anyway, so it's more
logical to separate the virtio-scsi stuff into a new function in
virtio-scsi.c instead.

Message-Id: &lt;20220704111903.62400-10-thuth@redhat.com&gt;
Reviewed-by: Eric Farman &lt;farman@linux.ibm.com&gt;
Signed-off-by: Thomas Huth &lt;thuth@redhat.com&gt;
</content>
</entry>
<entry>
<title>pc-bios/s390-ccw: Add a proper prototype for main()</title>
<updated>2022-07-06T16:33:26+00:00</updated>
<author>
<name>Thomas Huth</name>
</author>
<published>2022-07-04T11:18:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=2ba3cc47672a67a09ef64c5af2eca07fbf4cd21f'/>
<id>urn:sha1:2ba3cc47672a67a09ef64c5af2eca07fbf4cd21f</id>
<content type='text'>
Older versions of Clang complain if there is no prototype for main().
Add one, and while we're at it, make sure that we use the same type
for main.c and netmain.c - since the return value does not matter,
declare the return type of main() as "void".

Message-Id: &lt;20220704111903.62400-2-thuth@redhat.com&gt;
Reviewed-by: Cornelia Huck &lt;cohuck@redhat.com&gt;
Reviewed-by: Eric Farman &lt;farman@linux.ibm.com&gt;
Signed-off-by: Thomas Huth &lt;thuth@redhat.com&gt;
</content>
</entry>
<entry>
<title>pc-bios: s390x: Clear out leftover S390EP string</title>
<updated>2020-11-23T08:48:45+00:00</updated>
<author>
<name>Eric Farman</name>
</author>
<published>2020-11-20T16:01:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=3d6519968bb10260fc724c491fb4275f7c0b78ac'/>
<id>urn:sha1:3d6519968bb10260fc724c491fb4275f7c0b78ac</id>
<content type='text'>
A Linux binary will have the string "S390EP" at address 0x10008,
which is important in getting the guest up off the ground. In the
case of a reboot (specifically chreipl going to a new device),
we should defer to the PSW at address zero for the new config,
which will re-write "S390EP" from the new image.

Let's clear it out at this point so that a reipl to, say, a DASD
passthrough device drives the IPL path from scratch without disrupting
disrupting the order of operations for other boots.

Rather than hardcoding the address of this magic (again), let's
define it somewhere so that the two users are visibly related.

Signed-off-by: Eric Farman &lt;farman@linux.ibm.com&gt;
Message-Id: &lt;20201120160117.59366-3-farman@linux.ibm.com&gt;
Signed-off-by: Thomas Huth &lt;thuth@redhat.com&gt;
</content>
</entry>
<entry>
<title>s390-bios: Skip writing iplb location to low core for ccw ipl</title>
<updated>2020-11-04T11:31:24+00:00</updated>
<author>
<name>Jason J. Herne</name>
</author>
<published>2020-10-30T12:28:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=872882e771cf0873f5e8e78ea7333367a3f87d8b'/>
<id>urn:sha1:872882e771cf0873f5e8e78ea7333367a3f87d8b</id>
<content type='text'>
The architecture states that the iplb location is only written to low
core for list directed ipl and not for traditional ccw ipl. If we don't
skip this then operating systems that load by reading into low core
memory may fail to start.

We should also not write the iplb pointer for network boot as it might
overwrite content that we got via network.

Fixes: 9bfc04f9ef68 ("pc-bios: s390x: Save iplb location in lowcore")
Signed-off-by: Jason J. Herne &lt;jjherne@linux.ibm.com&gt;
Signed-off-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
Acked-by: Thomas Huth &lt;thuth@redhat.com&gt;
Message-Id: &lt;20201030122823.347140-1-borntraeger@de.ibm.com&gt;
Signed-off-by: Cornelia Huck &lt;cohuck@redhat.com&gt;
</content>
</entry>
<entry>
<title>pc-bios/s390-ccw/main: Remove superfluous call to enable_subchannel()</title>
<updated>2020-10-06T17:36:50+00:00</updated>
<author>
<name>Thomas Huth</name>
</author>
<published>2020-08-06T09:41:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=49d4388ec03fd8c7701b907a4e11c437a28f8572'/>
<id>urn:sha1:49d4388ec03fd8c7701b907a4e11c437a28f8572</id>
<content type='text'>
enable_subchannel() is already done during is_dev_possibly_bootable()
(which is called from find_boot_device() -&gt; find_subch()), so there
is no need to do this again in the main() function.

Message-Id: &lt;20200806105349.632-9-thuth@redhat.com&gt;
Reviewed-by: Cornelia Huck &lt;cohuck@redhat.com&gt;
Signed-off-by: Thomas Huth &lt;thuth@redhat.com&gt;
</content>
</entry>
<entry>
<title>pc-bios/s390-ccw: Allow booting in case the first virtio-blk disk is bad</title>
<updated>2020-10-06T17:36:50+00:00</updated>
<author>
<name>Thomas Huth</name>
</author>
<published>2020-07-28T16:14:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=5dc739f343cd06ecb9b058294564ce7504856f3f'/>
<id>urn:sha1:5dc739f343cd06ecb9b058294564ce7504856f3f</id>
<content type='text'>
If you try to boot with two virtio-blk disks (without bootindex), and
only the second one is bootable, the s390-ccw bios currently stops at
the first disk and does not continue booting from the second one. This
is annoying - and all other major QEMU firmwares succeed to boot from
the second disk in this case, so we should do the same in the s390-ccw
bios, too.

Reviewed-by: Cornelia Huck &lt;cohuck@redhat.com&gt;
Message-Id: &lt;20200806105349.632-8-thuth@redhat.com&gt;
Signed-off-by: Thomas Huth &lt;thuth@redhat.com&gt;
</content>
</entry>
<entry>
<title>pc-bios/s390-ccw: Scan through all devices if no boot device specified</title>
<updated>2020-10-06T17:36:50+00:00</updated>
<author>
<name>Thomas Huth</name>
</author>
<published>2020-07-28T14:29:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=869d0e2f593dd37297c366203f006b9acd1b7b45'/>
<id>urn:sha1:869d0e2f593dd37297c366203f006b9acd1b7b45</id>
<content type='text'>
If no boot device has been specified (via "bootindex=..."), the s390-ccw
bios scans through all devices to find a bootable device. But so far, it
stops at the very first block device (including virtio-scsi controllers
without attached devices) that it finds, no matter whether it is bootable
or not. That leads to some weird situatation where it is e.g. possible
to boot via:

 qemu-system-s390x -hda /path/to/disk.qcow2

but not if there is e.g. a virtio-scsi controller specified before:

 qemu-system-s390x -device virtio-scsi -hda /path/to/disk.qcow2

While using "bootindex=..." is clearly the preferred way of booting
on s390x, we still can make the life for the users at least a little
bit easier if we look at all available devices to find a bootable one.

Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1846975
Reviewed-by: Cornelia Huck &lt;cohuck@redhat.com&gt;
Message-Id: &lt;20200806105349.632-7-thuth@redhat.com&gt;
Signed-off-by: Thomas Huth &lt;thuth@redhat.com&gt;
</content>
</entry>
<entry>
<title>pc-bios/s390-ccw: Do not bail out early if not finding a SCSI disk</title>
<updated>2020-10-06T17:36:50+00:00</updated>
<author>
<name>Thomas Huth</name>
</author>
<published>2020-07-28T12:30:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=605751b5a5334e187761b0b8a8266a216897bf70'/>
<id>urn:sha1:605751b5a5334e187761b0b8a8266a216897bf70</id>
<content type='text'>
In case the user did not specify a boot device, we want to continue
looking for other devices if there are no valid SCSI disks on a virtio-
scsi controller. As a first step, do not panic in this case and let
the control flow carry the error to the upper functions instead.

Message-Id: &lt;20200806105349.632-6-thuth@redhat.com&gt;
Reviewed-by: Cornelia Huck &lt;cohuck@redhat.com&gt;
Signed-off-by: Thomas Huth &lt;thuth@redhat.com&gt;
</content>
</entry>
<entry>
<title>pc-bios/s390-ccw: Move the inner logic of find_subch() to a separate function</title>
<updated>2020-10-06T17:36:50+00:00</updated>
<author>
<name>Thomas Huth</name>
</author>
<published>2020-07-28T13:50:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=d2cf4af1f4af02f6f2d5827d9a06c31690084d3b'/>
<id>urn:sha1:d2cf4af1f4af02f6f2d5827d9a06c31690084d3b</id>
<content type='text'>
Move the code to a separate function to be able to re-use it from a
different spot later.

Reviewed-by: Claudio Imbrenda &lt;imbrenda@linux.ibm.com&gt;
Message-Id: &lt;20200806105349.632-5-thuth@redhat.com&gt;
Reviewed-by: Cornelia Huck &lt;cohuck@redhat.com&gt;
Reviewed-by: Janosch Frank &lt;frankja@linux.ibm.com&gt;
Signed-off-by: Thomas Huth &lt;thuth@redhat.com&gt;
</content>
</entry>
<entry>
<title>pc-bios/s390-ccw: Move ipl-related code from main() into a separate function</title>
<updated>2020-10-06T17:36:50+00:00</updated>
<author>
<name>Thomas Huth</name>
</author>
<published>2020-07-28T08:35:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=d1f060a8b515a0b1d14c38f2c8f86ab54e79c3dc'/>
<id>urn:sha1:d1f060a8b515a0b1d14c38f2c8f86ab54e79c3dc</id>
<content type='text'>
Let's move this part of the code into a separate function to be able
to use it from multiple spots later.

Reviewed-by: Claudio Imbrenda &lt;imbrenda@linux.ibm.com&gt;
Reviewed-by: Cornelia Huck &lt;cohuck@redhat.com&gt;
Reviewed-by: Janosch Frank &lt;frankja@linux.ibm.com&gt;
Message-Id: &lt;20200806105349.632-3-thuth@redhat.com&gt;
Signed-off-by: Thomas Huth &lt;thuth@redhat.com&gt;
</content>
</entry>
</feed>
