1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 21:57:43 +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

@ -68,6 +68,8 @@ protected:
: Device(major, minor)
, m_block_size(block_size)
{
// 512 is the minimum sector size in most block devices
VERIFY(m_block_size >= 512);
}
private: