diff --git a/src/devices/src/virtio/block/queqe_handler.md b/src/devices/src/virtio/block/queqe_handler.md new file mode 100644 index 0000000..4787ee9 --- /dev/null +++ b/src/devices/src/virtio/block/queqe_handler.md @@ -0,0 +1,9 @@ +Brief description of queue handlers +init: initializing op as EventOps by adding event of a file descriptor, associated data and EVENTSET::IN +process: + check valid events by matching following values: + 1. events.event\_set() == EventSet::IN + 2. events.data() == IOEVENT_DATA + 3. self.ioeventfd.read().is\_err() + 4. inorderhander process\_queue() is giving error + in case of not valid event, remove the event from op. diff --git a/src/devices/src/virtio/net/queue-handler.md b/src/devices/src/virtio/net/queue-handler.md new file mode 100644 index 0000000..e6d4d33 --- /dev/null +++ b/src/devices/src/virtio/net/queue-handler.md @@ -0,0 +1,9 @@ +Brief description of queue handlers
+init: initializing op as EventOps by adding event of a file descriptor, associated data and EVENTSET::IN except TAPFD may be EVENTSET::EDGE\_TRIGGERED
+process: check valid events by matching following values:
+ 1. events.event\_set() == EventSet::IN (| EVENTSET::EDGE\_TRIGGERED in case of TAPFD) + 2. events.data() == X\_DATA (X may be TAPFD, RX\_IOEVENT or TX\_IOEVENT) + 3. self.ioeventfd.read().is\_err() + 4. inorderhander process\_queue() is giving error (queue may be of tap, rx or tx)
+In case of not valid event, remove the event from op.
+handle\_error: remove all events from ops.