linux-stable/drivers/s390
Eric Farman 1b676fe3d9 vfio/ccw: handle a guest Format-1 IDAL
There are two scenarios that need to be addressed here.

First, an ORB that does NOT have the Format-2 IDAL bit set could
have both a direct-addressed CCW and an indirect-data-address CCW
chained together. This means that the IDA CCW will contain a
Format-1 IDAL, and can be easily converted to a 2K Format-2 IDAL.
But it also means that the direct-addressed CCW needs to be
converted to the same 2K Format-2 IDAL for consistency with the
ORB settings.

Secondly, a Format-1 IDAL is comprised of 31-bit addresses.
Thus, we need to cast this IDAL to a pointer of ints while
populating the list of addresses that are sent to vfio.

Since the result of both of these is the use of the 2K IDAL
variants, and the output of vfio-ccw is always a Format-2 IDAL
(in order to use 64-bit addresses), make sure that the correct
control bit gets set in the ORB when these scenarios occur.

Signed-off-by: Eric Farman <farman@linux.ibm.com>
Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2023-01-09 14:34:09 +01:00
..
block block: handle bio_split_to_limits() NULL return 2023-01-04 09:05:23 -07:00
char s390/con3270: add special output handling when oops_in_progress is set 2023-01-09 14:34:06 +01:00
cio vfio/ccw: handle a guest Format-1 IDAL 2023-01-09 14:34:09 +01:00
crypto VFIO updates for v6.2-rc1 2022-12-15 13:12:15 -08:00
net s390/qeth: convert sysfs snprintf to sysfs_emit 2022-12-28 12:10:42 +00:00
scsi Random number generator updates for Linux 6.2-rc1. 2022-12-12 16:22:22 -08:00
virtio virtio: Revert "virtio: find_vqs() add arg sizes" 2022-08-16 01:40:24 -04:00
Makefile