@@ -51,25 +51,58 @@ We are working on two reusable bus implementations:
5151 * Minimal requirements: bi-directional interrupts and
5252 at least one shared memory area
5353
54- We also anticipate a third :
54+ We also anticipate a few more :
5555
5656* virtio-msg-xen specific to Xen
5757 * Usable on any Xen system (including x86 where FF-A does not exist)
5858 * Using Xen events and page grants
5959
60+ * virtio-msg-loopback for userspace implemented devices
61+ * Allows user space to provide devices to its own kernel
62+ * This is similar to fuse, cuse or loopback block devices but for virtio
63+ * Once developed this can provide a single kernel demo of virtio-msg
64+ * [Work has begun on this]
65+
66+ * virtio-msg over admin virtqueues
67+ * This allows any virtio-pci device that supports admin virtqueues to also
68+ support a virtio-msg bus that supports sub devices
69+ * [We are looking for collaborators for this work]
70+
71+ Changes since RFC1:
72+ * reformated document to better conform to the virtio spec style
73+ - created an introduction chapter
74+ - created a basic concept chapter
75+ - created bus operation and device initialization and operation chapters
76+ - reworked description of transport and bus messages
77+ - attempted a "compliance chapter"
78+ - reused spec macros
79+ - switched to MAY/MUST/SHALL/SHOULD wording
80+ - eliminate the use of terms front-end and back-end and use driver and device
81+ * made the maximum message size variable per bus instance
82+ * use "device number" for virtio-msg device instances on the bus instead of
83+ adding yet another meaning for "device ID"
84+ * added the configuration generation count and its use
85+ * described types of things that can be done with bus specific messages
86+ such as setup of bus level shared memory and out of band notifications
87+ * removed wording of notification being optional at transport level and
88+ described bus level notifications of in-band, out-of-band, and polled
89+ from driver side bus
90+ * removed the ERROR message from transport level. Errors should be handled at
91+ the bus level to better match virtio-pci and virtio-mmio
92+ * removed bus level reset and status from standard bus messages
93+ * replaced bus messages DEVICE_{ADDED,REMOVED} with EVENT_DEVICE
94+ * changed names to GET_DEVICE_FEATURES and SET_DRIVER_FEATURES for clarity
95+ * made SET_DEVICE_STATE return new state as it may not match
96+ * Don't echo back the data in SET_VQUEUE (it cannot change)
97+ * defined request/response vs event message id ranges
98+ * match field size of next offset and wrap to virtio-{pci,mmio}
99+ * added maximum number of virtqueues to DEVICE_INFO
100+ * added admin virtqueue and SHM support
101+
60102This series is a work in progress and we acknowledge at least the following
61103issues we need to work on:
62104
63- * Conform to virtio spec nouns (device/driver vs frontend/backend)
64- and verbs (must/may)
65- * Perhaps move error definition elsewhere it the spec and align on its symbols
66- and numeric values
67- * Allow message size to be greater than 40 bytes and allow bus implementations
68- to define their max message size
69- * Add a way to discover the protocol version
70- * Add a better description of the types of things a bus can do, specifically
71- including out-of-band notification and memory area sharing/discovery
72- * Maybe redo configuration generation handling
105+ * Better conformance documentation
73106
74107Background info and work in progress implementations:
75108* HVAC project page with intro slides [1]
0 commit comments