Commit 9c9f5f31 authored by Dong Jia Shi's avatar Dong Jia Shi Committed by Christian Borntraeger
Browse files

pc-bios/s390-ccw: enable subchannel for IPL I/O devices



IPL should cause the IPL I/O device to become enabled. So when handling
the IPL program, we should set the E (Enable) bit. However, virtio-ccw
does not know whether it's dealing with an IPL device or not. Since
trying to perform I/O on a disabled device doesn't make any sense,
let's just always enable it. At the same time we can remove the
SCSW_FCTL_START_FUNC flag as it is ignored for msch anyway and did
not enable the device as intended.

Reported-by: default avatarFarhan Ali <alifm@linux.vnet.ibm.com>
Signed-off-by: default avatarDong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
Reviewed-by: default avatarCornelia Huck <cornelia.huck@de.ibm.com>
Reviewed-by: default avatarSascha Silbe <silbe@linux.vnet.ibm.com>
Signed-off-by: default avatarHalil Pasic <pasic@linux.vnet.ibm.com>
[remove superfluous flag]
Signed-off-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
parent f9530c32
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -97,7 +97,8 @@ static int run_ccw(VDev *vdev, int cmd, void *ptr, int len)

    /* start command processing */
    stsch_err(vdev->schid, &schib);
    schib.scsw.ctrl = SCSW_FCTL_START_FUNC;
    /* enable the subchannel for IPL device */
    schib.pmcw.ena = 1;
    msch(vdev->schid, &schib);

    /* start subchannel command */