2
0
mirror of https://git.missingno.dev/kolibrios-nvme-driver/ synced 2024-09-19 01:51:03 +02:00
Go to file
2024-09-17 08:41:21 -04:00
drivers/nvme fix: interrupt freezing system when duplicate debug output is disabled 2024-09-17 08:41:21 -04:00
.gitignore ignore: kolibri.img 2024-08-19 07:48:31 -04:00
LICENSE add LICENSE 2024-04-17 15:39:25 -04:00
Makefile remove macros.inc 2024-08-23 07:55:07 -04:00
README.md readme: add another feature to the table 2024-08-30 13:06:49 -04:00

KolibriOS NVMe Driver

This project was developed by Abdur-Rahman Mansoor for Google Summer of Code 2024. However, it's still being actively maintained. This driver should be compatible with all controller versions, but if you an encounter a problem, please open an issue and let us know.

The official repository is hosted on KolibriOS so please open any issues or pull requests there.

All files in this repository are licensed under GNU General Public License Version 2. See the LICENSE file for more details.

Tested Hardware

  • QEMU NVMe Controller (v1.4.0)
  • Virtualbox NVMe Controller (v1.2.0)
  • VMWare NVMe Controller (v1.3.0)

Implementation Status

Feature Implemented Description
Mandatory Administrator Commands Yes A large majority of the mandatory administrator commands has been implemented.
Mandatory I/O Commands Yes Support for reading and writing to disk is implemented.
Namespace Identification Yes Support for identifying active namespaces across all controller versions is implemented.
Using Multiple NVMe Devices Yes Support for using multiple NVMe drives at once is implemented.
MSI/MSI-X interrupts No Currently only traditional PIN interrupts can be used.
Asynchronous API No Currently the driver polls instead of using the asynchronous API of KolibriOS.
SMART/Health Information Reporting No Low priority, but a nice to have in the future.

Building the Driver

Please note that this normally isn't required. The images on KolibriOS's download page should include the driver by default. Nonetheless, if you want to test the driver or need a new version that isn't included in upstream yet, here are the steps on how to do so.

First, ensure that you have the following dependencies installed before continuing (installation process may vary depending on your operating system):

Once you have all the dependencies installed, follow these steps:

  1. Clone the repository: git clone https://git.kolibrios.org/GSoC/kolibrios-nvme-driver

  2. Extract the latest KolibriOS image from the KolibriOS website into the cloned repository.

  3. Install the driver into the image: make install

And you should be good to go.