• Eric Farman's avatar
    vfio/ccw: allow non-zero storage keys · 155a4321
    Eric Farman authored
    Currently, vfio-ccw copies the ORB from the io_region to the
    channel_program struct being built. It then adjusts various
    pieces of that ORB to the values needed to be used by the
    SSCH issued by vfio-ccw in the host.
    
    This includes setting the subchannel key to the default,
    presumably because Linux doesn't do anything with non-zero
    storage keys itself. But it seems wrong to convert every I/O
    to the default key if the guest itself requested a non-zero
    subchannel (access) key.
    
    Any channel program that sets a non-zero key would expect the
    same key returned in the SCSW of the IRB, not zero, so best to
    allow that to occur unimpeded.
    Signed-off-by: default avatarEric Farman <farman@linux.ibm.com>
    Reviewed-by: default avatarMatthew Rosato <mjrosato@linux.ibm.com>
    Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
    155a4321
vfio_ccw_cp.c 23.1 KB