@@ -1581,6 +1581,32 @@ \subsubsection{Overview}
15811581 \textbf {offset } and \textbf {count }.
15821582\end {itemize }
15831583
1584+ \busdef {PING}
1585+
1586+ \busref {PING } is a simple liveness check that can be sent by either side of the
1587+ bus; the response echoes the 32-bit data value from the request.
1588+
1589+ \ begin{lstlisting}
1590+ struct virtio_bus_msg_ping_req {
1591+ le32 data; /* arbitrary value chosen by the sender */
1592+ };
1593+
1594+ struct virtio_bus_msg_ping_resp {
1595+ le32 data; /* echoed request data */
1596+ };
1597+ \end {lstlisting }
1598+
1599+ \paragraph {Intended usage }
1600+ Drivers or bus implementations MAY use \busref {PING } as a keepalive. If a reply
1601+ is missing or delayed beyond policy, the initiator SHOULD verify device status
1602+ (e.g., via \msgref {GET_DEVICE_STATUS }) and take recovery actions as needed.
1603+
1604+ \busnormative {\paragraph }{PING}{Virtio Transport Options / Virtio Over Messages / Bus Messages / PING / Bus}
1605+ \begin {itemize }
1606+ \item The bus-side responder MUST echo the 32-bit data field from the request
1607+ exactly in the \busref {PING } response.
1608+ \end {itemize }
1609+
15841610\busdef {EVENT_DEVICE}
15851611
15861612\busref {EVENT_DEVICE } signals device-level hotplug changes. The driver-side bus
@@ -1612,29 +1638,3 @@ \subsubsection{Overview}
16121638reset as applicable, and release resources. Drivers SHOULD tolerate duplicate or
16131639out-of-order events and MAY rely on additional bus-level monitoring (e.g.,
16141640\busref {PING }) if needed.
1615-
1616- \busdef {PING}
1617-
1618- \busref {PING } is a simple liveness check that can be sent by either side of the
1619- bus; the response echoes the 32-bit data value from the request.
1620-
1621- \ begin{lstlisting}
1622- struct virtio_bus_msg_ping_req {
1623- le32 data; /* arbitrary value chosen by the sender */
1624- };
1625-
1626- struct virtio_bus_msg_ping_resp {
1627- le32 data; /* echoed request data */
1628- };
1629- \end {lstlisting }
1630-
1631- \paragraph {Intended usage }
1632- Drivers or bus implementations MAY use \busref {PING } as a keepalive. If a reply
1633- is missing or delayed beyond policy, the initiator SHOULD verify device status
1634- (e.g., via \msgref {GET_DEVICE_STATUS }) and take recovery actions as needed.
1635-
1636- \busnormative {\paragraph }{PING}{Virtio Transport Options / Virtio Over Messages / Bus Messages / PING / Bus}
1637- \begin {itemize }
1638- \item The bus-side responder MUST echo the 32-bit data field from the request
1639- exactly in the \busref {PING } response.
1640- \end {itemize }
0 commit comments