diff --git a/protocols/PROTOCOL_14_05_2016 b/protocols/PROTOCOL_14_05_2016 new file mode 100644 index 0000000000000000000000000000000000000000..eae630ee2144a8451f9a6b7accabb390557ec923 --- /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? ]