WIP: feat: add NVMe driver #91

Draft
ramenu wants to merge 5 commits from ramenu/kolibrios:main into main
Showing only changes of commit 088dbaed5f - Show all commits

View File

@ -1136,6 +1136,12 @@ proc cqyhdbl_write stdcall, pci:dword, y:dword, cqh:dword
mov word [esi + edx], ax ; Write to CQyHDBL
mov word [edi + NVM_QUEUE_ENTRY.head], ax
; NOTE: Currently commented out since we're just using
; plain spinlocks for notifying when a command has been
; completed, but this will be uncommented later and use

You decided to leave the spinlock mechanism. It is not a problem. But can you add some to-do comments about replacing it and why we need to do it later? Also, what problem did you face trying to replace it with another mechanism?

It will help to understand a problem to someone who will do some work on the driver.

You decided to leave the spinlock mechanism. It is not a problem. But can you add some to-do comments about replacing it and why we need to do it later? Also, what problem did you face trying to replace it with another mechanism? It will help to understand a problem to someone who will do some work on the driver.
; semaphores instead of mutexes once the polling code
; has been replaced with the asynchronous API.
; Unlock the mutex now that the command is complete
;mov edi, dword [edi + NVM_QUEUE_ENTRY.cmd_ptr]
;mov ecx, [cqh]