## IO manager and cache manager - [ ] Make the design closer to NT by giving the file system driver the full freedom of deciding how it constructs the file content. This is needed for the DRM subsystem (see #19 #23). ## `storport.sys` - [x] Implement bus enumeration (ie. enumeration of, for instance, SATA drives connected to the SATA adapter) - [x] Implement the IO model of storport. Basically the `PortStartIo` routine. We only support full duplex mode and do not support half duplex. - [ ] Implement proper queuing. For now we just queue on a KEVENT which will become problematic since each queued IRP takes a whole coroutine stack. - [x] Implement support for MSI/MSI-X. We do not support interrupt sharing so MSI/MSIX is essential for PCI devices to function. - [ ] (OPTIONAL) Add support for per-port interrupt routing. This may be useful for Linux-like io_uring but should not be enabled otherwise. ## `stornvme.sys` - [x] Test on real machines - [x] Performance improvements #40 ## `fatfs.sys` - [x] #27 - [ ] #35
IO manager and cache manager
storport.sysPortStartIoroutine. We only support full duplex mode and do not support half duplex.stornvme.sysfatfs.sys