1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 02:47:35 +00:00

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
parent 602b35aa62
commit e99fafb683
13 changed files with 946 additions and 0 deletions

View file

@ -75,6 +75,7 @@ namespace MassStorage {
enum class SubclassID {
IDEController = 0x1,
SATAController = 0x6,
NVMeController = 0x8,
};
enum class SATAProgIF {
AHCI = 0x1,