mirror of
https://github.com/torvalds/linux.git
synced 2024-12-15 07:33:56 +00:00
vfio/ccw: allow non-zero storage keys
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: Eric Farman <farman@linux.ibm.com> Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
This commit is contained in:
parent
9fbed59fcd
commit
155a4321c1
@ -836,7 +836,6 @@ union orb *cp_get_orb(struct channel_program *cp, struct subchannel *sch)
|
||||
|
||||
orb->cmd.intparm = (u32)virt_to_phys(sch);
|
||||
orb->cmd.fmt = 1;
|
||||
orb->cmd.key = PAGE_DEFAULT_KEY >> 4;
|
||||
|
||||
if (orb->cmd.lpm == 0)
|
||||
orb->cmd.lpm = sch->lpm;
|
||||
|
Loading…
Reference in New Issue
Block a user