OASIS Open Mailing List Archives  ·  All Lists  ·  virtio  ·  2014-02

virtio — archive

[Date Prev]  |  [Thread Prev]  |  [Thread Next]  |  [Date Next]   —  [Date Index]  |  [Thread Index]  |  [Month Index]  |  [List Home]

[PATCH 00/14] VIRTIO-71: conformance clauses for legacy interface


--- content.tex 93 ++++++++++++++++++++++++++++++++++++++++ --------------------- 1 file changed, 62 insertions(+), 31 deletions(-) diff --git a/content.tex b/content.tex index 58402f3..0cca0e0 100644 --- a/content.tex +++ b/content.tex @@ -2616,8 +2616,11 @@ struct virtio_net_config { end{lstlisting} subsubsection{Legacy Interface: Device configuration layout}label{sec:Device Types / Network Device / Device configuration layout / Legacy Interface: Device configuration layout} -For legacy devices, field{status} and field{max_virtqueue_pairs} in struct virtio_net_config are the -native endian of the guest rather than (necessarily) little-endian. +When using the legacy interface, transitional devices and drivers +MUST format field{status} and +field{max_virtqueue_pairs} in struct virtio_net_config +according to the native endian of the guest rather than +(necessarily when not using the legacy interface) little-endian. subsection{Device Initialization}label{sec:Device Types / Network Device / Device Initialization} @@ -2716,8 +2719,10 @@ The controlq is used to control device features such as filtering. subsubsection{Legacy Interface: Device Operation}label{sec:Device Types / Network Device / Device Operation / Legacy Interface: Device Operation} -For legacy devices, the fields in struct virtio_net_hdr are the -native endian of the guest rather than (necessarily) little-endian. +When using the legacy interface, transitional devices and drivers +MUST format the fields in struct virtio_net_hdr +according to the native endian of the guest rather than +(necessarily when not using the legacy interface) little-endian. subsubsection{Packet Transmission}label{sec:Device Types / Network Device / Device Operation / Packet Transmission} @@ -2950,8 +2955,10 @@ MUST negotiate VIRTIO_NET_F_MAC_ADDR if they change mac address when device is accepting incoming packets. subparagraph{Legacy Interface: Setting MAC Address Filtering}label{sec:Device Types / Network Device / Device Operation / Control Virtqueue / Setting MAC Address Filtering / Legacy Interface: Setting MAC Address Filtering} -For legacy devices, field{entries} in struct virtio_net_ctrl_mac is the -native endian of the guest rather than (necessarily) little-endian. +When using the legacy interface, transitional devices and drivers +MUST format field{entries} in struct virtio_net_ctrl_mac +according to the native endian of the guest rather than +(necessarily when not using the legacy interface) little-endian. Legacy drivers that didn't negotiate VIRTIO_NET_F_MAC_ADDR changed field{mac} in config space when NIC is accepting @@ -2976,8 +2983,10 @@ Both the VIRTIO_NET_CTRL_VLAN_ADD and VIRTIO_NET_CTRL_VLAN_DEL command take a little-endian 16-bit VLAN id as the command-specific-data. subparagraph{Legacy Interface: VLAN Filtering}label{sec:Device Types / Network Device / Device Operation / Control Virtqueue / VLAN Filtering / Legacy Interface: VLAN Filtering} -For legacy devices, the VLAN id is in the -native endian of the guest rather than (necessarily) little-endian. +When using the legacy interface, transitional devices and drivers +MUST format the VLAN id +according to the native endian of the guest rather than +(necessarily when not using the legacy interface) little-endian. paragraph{Gratuitous Packet Sending}label{sec:Device Types / Network Device / Device Operation / Control Virtqueue / Gratuitous Packet Sending} @@ -3056,8 +3065,10 @@ the driver MUST NOT transmit new packets on virtqueues other than transmitq0. subparagraph{Legacy Interface: Automatic receive steering in multiqueue mode}label{sec:Device Types / Network Device / Device Operation / Control Virtqueue / Automatic receive steering in multiqueue mode / Legacy Interface: Automatic receive steering in multiqueue mode} -For legacy devices, field{virtqueue_pairs} is in the -native endian of the guest rather than (necessarily) little-endian. +When using the legacy interface, transitional devices and drivers +MUST format field{virtqueue_pairs} +according to the native endian of the guest rather than +(necessarily when not using the legacy interface) little-endian. paragraph{Offloads State Configuration}label{sec:Device Types / Network Device / Device Operation / Control Virtqueue / Offloads State Configuration} @@ -3094,8 +3105,10 @@ change of specific offload state. subparagraph{Legacy Interface: Setting Offloads State}label{sec:Device Types / Network Device / Device Operation / Control Virtqueue / Offloads State Configuration / Setting Offloads State / Legacy Interface: Setting Offloads State} -For legacy devices, field{offloads} is the -native endian of the guest rather than (necessarily) little-endian. +When using the legacy interface, transitional devices and drivers +MUST format field{offloads} +according to the native endian of the guest rather than +(necessarily when not using the legacy interface) little-endian. section{Block Device}label{sec:Device Types / Block Device} @@ -3183,8 +3196,10 @@ struct virtio_blk_config { paragraph{Legacy Interface: Device configuration layout}label{sec:Device Types / Block Device / Feature bits / Device configuration layout / Legacy Interface: Device configuration layout} -For legacy devices, the fields in struct virtio_blk_config are the -native endian of the guest rather than (necessarily) little-endian. +When using the legacy interface, transitional devices and drivers +MUST format the fields in struct virtio_blk_config +according to the native endian of the guest rather than +(necessarily when not using the legacy interface) little-endian. subsection{Device Initialization}label{sec:Device Types / Block Device / Device Initialization} @@ -3269,8 +3284,10 @@ Any writes completed before the submission of the flush command should be committed to non-volatile storage by the device. subsubsection{Legacy Interface: Device Operation}label{sec:Device Types / Block Device / Device Operation / Legacy Interface: Device Operation} -For legacy devices, the fields in struct virtio_blk_req are the -native endian of the guest rather than (necessarily) little-endian. +When using the legacy interface, transitional devices and drivers +MUST format the fields in struct virtio_blk_req +according to the native endian of the guest rather than +(necessarily when not using the legacy interface) little-endian. The field{reserved} field was previously called field{ioprio}. field{ioprio} is a hint about the relative priorities of requests to the device: @@ -3424,8 +3441,10 @@ struct virtio_console_config { end{lstlisting} subsubsection{Legacy Interface: Device configuration layout}label{sec:Device Types / Console Device / Device configuration layout / Legacy Interface: Device configuration layout} -For legacy devices, the fields in struct virtio_console_config are the -native endian of the guest rather than (necessarily) little-endian. +When using the legacy interface, transitional devices and drivers +MUST format the fields in struct virtio_console_config +according to the native endian of the guest rather than +(necessarily when not using the legacy interface) little-endian. subsection{Device Initialization}label{sec:Device Types / Console Device / Device Initialization} @@ -3537,8 +3556,10 @@ struct virtio_console_resize { end{description} subsubsection{Legacy Interface: Device Operation}label{sec:Device Types / Console Device / Device Operation / Legacy Interface: Device Operation} -For legacy devices, the fields in struct virtio_console_control are the -native endian of the guest rather than (necessarily) little-endian. +When using the legacy interface, transitional devices and drivers +MUST format the fields in struct virtio_console_control +according to the native endian of the guest rather than +(necessarily when not using the legacy interface) little-endian. section{Entropy Device}label{sec:Device Types / Entropy Device} @@ -3720,8 +3741,10 @@ struct virtio_balloon_stat { end{lstlisting} paragraph{Legacy Interface: Memory Statistics}label{sec:Device Types / Memory Balloon Device / Device Operation / Memory Statistics / Legacy Interface: Memory Statistics} -For legacy devices, the fields in struct virtio_balloon_stat are the -native endian of the guest rather than (necessarily) little-endian. +When using the legacy interface, transitional devices and drivers +MUST format the fields in struct virtio_balloon_stat +according to the native endian of the guest rather than +(necessarily when not using the legacy interface) little-endian. subsubsection{Memory Statistics Tags}label{sec:Device Types / Memory Balloon Device / Device Operation / Memory Statistics Tags} @@ -3851,8 +3874,10 @@ struct virtio_scsi_config { end{description} subsubsection{Legacy Interface: Device configuration layout}label{sec:Device Types / SCSI Host Device / Device configuration layout / Legacy Interface: Device configuration layout} -For legacy devices, the fields in struct virtio_scsi_config are the -native endian of the guest rather than (necessarily) little-endian. +When using the legacy interface, transitional devices and drivers +MUST format the fields in struct virtio_scsi_config +according to the native endian of the guest rather than +(necessarily when not using the legacy interface) little-endian. subsection{Device Initialization}label{sec:Device Types / SCSI Host Device / Device Initialization} @@ -3999,8 +4024,10 @@ following: end{description} paragraph{Legacy Interface: Device Operation: Request Queues}label{sec:Device Types / SCSI Host Device / Device Operation / Device Operation: Request Queues / Legacy Interface: Device Operation: Request Queues} -For legacy devices, the fields in struct virtio_scsi_req_cmd are the -native endian of the guest rather than (necessarily) little-endian. +When using the legacy interface, transitional devices and drivers +MUST format the fields in struct virtio_scsi_req_cmd +according to the native endian of the guest rather than +(necessarily when not using the legacy interface) little-endian. subsubsection{Device Operation: controlq}label{sec:Device Types / SCSI Host Device / Device Operation / Device Operation: controlq} @@ -4144,10 +4171,12 @@ struct virtio_scsi_ctrl_an { paragraph{Legacy Interface: Device Operation: controlq}label{sec:Device Types / SCSI Host Device / Device Operation / Device Operation: controlq / Legacy Interface: Device Operation: controlq} -For legacy devices, the fields in struct virtio_scsi_ctrl, struct +When using the legacy interface, transitional devices and drivers +MUST format the fields in struct virtio_scsi_ctrl, struct virtio_scsi_ctrl_tmf, struct virtio_scsi_ctrl_an and struct -virtio_scsi_ctrl_an are the native endian of the guest rather than -(necessarily) little-endian. +virtio_scsi_ctrl_an +according to the native endian of the guest rather than +(necessarily when not using the legacy interface) little-endian. subsubsection{Device Operation: eventq}label{sec:Device Types / SCSI Host Device / Device Operation / Device Operation: eventq} @@ -4318,8 +4347,10 @@ contents of field{event}. The following events are defined: end{itemize} paragraph{Legacy Interface: Device Operation: eventq}label{sec:Device Types / SCSI Host Device / Device Operation / Device Operation: eventq / Legacy Interface: Device Operation: eventq} -For legacy devices, the fields in struct virtio_scsi_event are the -native endian of the guest rather than (necessarily) little-endian. +When using the legacy interface, transitional devices and drivers +MUST format the fields in struct virtio_scsi_event +according to the native endian of the guest rather than +(necessarily when not using the legacy interface) little-endian. chapter{Reserved Feature Bits}label{sec:Reserved Feature Bits} -- MST

[Date Prev]  |  [Thread Prev]  |  [Thread Next]  |  [Date Next]   —  [Date Index]  |  [Thread Index]  |  [Month Index]  |  [List Home]