From b041913340782aa9d5c78d710fd0d636417eaee6 Mon Sep 17 00:00:00 2001 From: Moritz Knaut <moritz.knaut@fau.de> Date: Sat, 16 Apr 2016 15:19:04 +0200 Subject: [PATCH] * Added protocol for 14.05.2016 --- protocols/PROTOCOL_14_05_2016 | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 protocols/PROTOCOL_14_05_2016 diff --git a/protocols/PROTOCOL_14_05_2016 b/protocols/PROTOCOL_14_05_2016 new file mode 100644 index 0000000..eae630e --- /dev/null +++ b/protocols/PROTOCOL_14_05_2016 @@ -0,0 +1,25 @@ +TODOs for next week: +- Search the kernel data structures which contain the objects we want to supply as virtual 'devices' +- Search the specific abstraction layer for each group of devices +- Think about the connection to the application program emulating the hardware. +[- Keep in mind the other direction: real devices connected to virtual operating system(FAUMachine).] + +Device groups to implement: +- USB: + - Abstraction layer could be the layer of usb controllers + - Define driver for 'virtual' usb controller and append it to the usb controller list + +- Harddrive ATA: + - Block I/O? + +- Network interface: + - Abstraction layer could be the lowest layer in OSI/IP stack (Between IP and MAC) + - Register as network card driver. + +- Character devices: + - Abstraction layer could be just read/write/... + - Register as character device driver. + +[ - Other devices: ] +[ - Just replace the normal driver, abstraction layer is ioctl,read,write,open,close,... ] +[ - Is there in some drivers a abstraction layer between driver code and in/out/mem? ] -- GitLab