1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2026-01-17 18:51:10 +00:00
serenity/Kernel/Storage
Pankaj Raghav e99fafb683 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 :^)
2022-01-01 14:55:58 +01:00
..
ATA Kernel: Rename File::{before_removing => will_be_destroyed} 2021-12-29 12:04:15 +01:00
NVMe Kernel/NVMe: Add initial NVMe driver support 2022-01-01 14:55:58 +01:00
Partition Kernel: Replace KResult and KResultOr<T> with Error and ErrorOr<T> 2021-11-08 01:10:53 +01:00
RamdiskController.cpp Kernel: Propagate overflow errors from Memory::page_round_up 2021-12-28 23:08:50 +01:00
RamdiskController.h Kernel: Remove the kmalloc_eternal heap :^) 2021-12-28 21:02:38 +01:00
RamdiskDevice.cpp Kernel: Remove the KString::try_create(String::formatted(...)) pattern 2021-12-28 01:55:22 -08:00
RamdiskDevice.h Kernel: Remove the kmalloc_eternal heap :^) 2021-12-28 21:02:38 +01:00
StorageController.h Kernel: Remove the kmalloc_eternal heap :^) 2021-12-28 21:02:38 +01:00
StorageDevice.cpp Kernel: Make major and minor numbers to be DistinctNumerics 2021-12-23 23:02:39 +01:00
StorageDevice.h Kernel: Make major and minor numbers to be DistinctNumerics 2021-12-23 23:02:39 +01:00
StorageManagement.cpp Kernel/NVMe: Add initial NVMe driver support 2022-01-01 14:55:58 +01:00
StorageManagement.h Kernel: Remove the kmalloc_eternal heap :^) 2021-12-28 21:02:38 +01:00