Kernel/NVMe: Add initial NVMe driver support

Add a basic NVMe driver support to serenity
based on NVMe spec 1.4.

The driver can support multiple NVMe drives (subsystems).
But in a NVMe drive, the driver can support one controller
with multiple namespaces.

Each core will get a separate NVMe Queue.
As the system lacks MSI support, PIN based interrupts are
used for IO.

Tested the NVMe support by replacing IDE driver
with the NVMe driver :^)
This commit is contained in:
Pankaj Raghav 2021-12-16 20:37:54 +05:30 committed by Andreas Kling
commit e99fafb683
Notes: sideshowbarker 2024-07-17 21:50:50 +09:00
13 changed files with 946 additions and 0 deletions

View file

@ -210,6 +210,10 @@
#cmakedefine01 NETWORK_TASK_DEBUG
#endif
#ifndef NVME_DEBUG
#cmakedefine01 NVME_DEBUG
#endif
#ifndef OFFD_DEBUG
#cmakedefine01 OFFD_DEBUG
#endif