Add field for guest to specify command size for virtio-blk. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> --- virtio-spec.lyx | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 78 insertions(+), 5 deletions(-) diff --git a/virtio-spec.lyx b/virtio-spec.lyx index a8ce3f9..fea97ed 100644 --- a/virtio-spec.lyx +++ b/virtio-spec.lyx @@ -5826,6 +5826,16 @@ VIRTIO_BLK_F_TOPOLOGY (10) Device exports information on optimal I/O alignment. \change_inserted 1531152142 1341302349 VIRTIO_BLK_F_CONFIG_WCE (11) Device can toggle its cache between writeback and writethrough modes. +\change_inserted 1986246365 1363257418 + +\end_layout + +\begin_layout Description + +\change_inserted 1986246365 1363258629 +VIRTIO_BLK_F_CMD_SIZE (12) cmd_size field is valid. +\change_inserted 1531152142 1341302349 + \end_layout \end_deeper @@ -5994,6 +6004,30 @@ struct virtio_blk_config { \change_inserted 1531152142 1341301918 u8 writeback; +\change_inserted 1986246365 1363257385 + +\end_layout + +\begin_layout Plain Layout + +\change_inserted 1986246365 1363258610 + + u8 reserved[3]; +\end_layout + +\begin_layout Plain Layout + +\change_inserted 1986246365 1363259147 + + // buffer length for cmd field in requests. + reset value 0. +\end_layout + +\begin_layout Plain Layout + +\change_inserted 1986246365 1363257810 + + u32 cmd_size; \change_unchanged \end_layout @@ -6085,6 +6119,21 @@ Until version 1.1, QEMU remained in writeback mode even after a guest announced \end_inset . +\change_inserted 1986246365 1363258989 + +\end_layout + +\begin_layout Enumerate + +\change_inserted 1986246365 1363259237 +If VIRTIO_BLK_F_SCSI_CMD_SIZE is negotiated, Guest should set the desired + size for scsi commands to the +\emph on +cmd_size +\emph default +field. +\change_unchanged + \end_layout \begin_layout Section* @@ -6369,8 +6418,33 @@ cmd \emph default field is only present for scsi packet command requests, and indicates the command to perform. - This field must reside in a single, separate read-only buffer; command - length can be derived from the length of this buffer. + +\change_inserted 1986246365 1363258881 +If VIRTIO_BLK_F_SCSI_CMD_SIZE feature bit is negotiated, Guest must set + the command length by writing it to the cmd_size field in configuration + space +\begin_inset Foot +status open + +\begin_layout Plain Layout + +\change_inserted 1986246365 1363258931 +Guest should always set cmd_size during initialization. +\change_unchanged + +\end_layout + +\end_inset + +. + If VIRTIO_BLK_F_SCSI_CMD_SIZE is not negotiated, +\change_deleted 1986246365 1363258703 +T +\change_inserted 1986246365 1363258703 +t +\change_unchanged +his field must reside in a single, separate read-only buffer; command length + can be derived from the length of this buffer. \end_layout -- MST _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization