Re: [PATCH 7/7] s390/cio: Remove vfio-ccw checks of command codes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 5/8/19 6:06 AM, Cornelia Huck wrote:
On Wed, 8 May 2019 11:22:07 +0200
Pierre Morel <pmorel@xxxxxxxxxxxxx> wrote:

The TEST command is used to retrieve the status of the I/O-device
__path__ and do not go up to the device.
I did not find clearly that it does not start a data transfer but I
really do not think it does.
May be we should ask people from hardware.
I only found that test I/O (a specific test command) do not initiate an
operation.

FWIW, I'm not sure about what we should do with the test command in any
case.

Currently, I see it defined as a proper command in the rather ancient
"Common I/O Device Commands" (I don't know of any newer public
version),

Nor I. I had to rummage around a few dumpsters to find a copy of this one, even.

which states that it retrieves the status on the parallel
interface _only_ (and generates a command reject on the serial
interface). IIRC, the parallel interface has been phased out quite some
time ago.

The current POPs, towards the bottom left side of page 13-3, has this statement:

---
The term “serial-I/O interface” is used to refer the ESCON I/O interface, the FICON I/O interface, and the FICON-converted I/O interface. The term “parallel-I/O interface” is used to refer to the IBM System/360 and System/370 I/O interface.
---

So, yes it was phased out some time ago.  :)


The current PoP, in contrast, defines this as an _invalid_ command
(generating a channel program check).

Ditto the ESA/390 POPs (SA22-7201-08).


So, while the test command originally was designed to never initiate a
data transfer, we now have an invalid command in its place, and we
don't know if something else might change in the future (for transfer
mode, a test-like command is already defined in the PoP).

Indeed, the ccw_is_test() check would need to be reworked if we ever want to support transport mode anyway. :shudder:


So, the safest course would probably be to handle the ->cda portion and
send the command down. We'll get a check condition on current hardware,
but it should be safe if something changes in the future.

Of course, asking some hardware folks is not a bad idea, either :)


I'll shoot a quick note (and cc Pierre) just for the sake of sanity, but I'm still convinced this patch is fine as-is. :)




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux