You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.adoc
+42Lines changed: 42 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4858,6 +4858,48 @@ But in part because it is dying, I didn't spend much effort to integrate it into
4858
4858
4859
4859
Maybe some brave soul will send a pull request one day.
4860
4860
4861
+
=== UIO
4862
+
4863
+
UIO is a kernel subsystem that allows to do certain types of driver operations from userland.
4864
+
4865
+
This would be awesome to improve debugability and safety of kernel modules.
4866
+
4867
+
VFIO looks like a newer and better UIO replacement, but there do not exist any examples of how to use it: https://stackoverflow.com/questions/49309162/interfacing-with-qemu-edu-device-via-userspace-i-o-uio-linux-driver
4868
+
4869
+
TODO get something interesting working. I currently don't understand the behaviour very well.
4870
+
4871
+
TODO how to ACK interrupts? How to ensure that every interrupt gets handled separately?
4872
+
4873
+
TODO how to write to registers. Currently using `/dev/mem` and `lspci`.
4874
+
4875
+
This example should handle interrupts from userland and print a message to stdout:
4876
+
4877
+
....
4878
+
/uio_read.sh
4879
+
....
4880
+
4881
+
TODO: what is the expected behaviour? I should have documented this when I wrote this stuff, and I'm that lazy right now that I'm in the middle of a refactor :-)
* http://nairobi-embedded.org/uio_example.html that website has QEMU examples for everything as usual. The example has a kernel-side which creates the memory mappings and is used by the user.
- http://nairobi-embedded.org/uio_example.html that website has QEMU examples for everything as usual. The example has a kernel-side which creates the memory mappings and is used by the user.
0 commit comments