mirror of
https://git.missingno.dev/kolibrios-nvme-driver/
synced 2024-11-12 19:27:28 +01:00
add README.md
This commit is contained in:
parent
388eca270e
commit
c2d8abad58
57
README.md
Normal file
57
README.md
Normal file
@ -0,0 +1,57 @@
|
||||
# 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](https://git.kolibrios.org/GSoC/kolibrios-nvme-driver)
|
||||
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. |
|
||||
| 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):
|
||||
- **[Git](https://git-scm.com/downloads)**
|
||||
- **[FASM (Flat Assembler)](https://flatassembler.net/download.php)**
|
||||
- **[GNU Make](https://www.gnu.org/software/make/)**
|
||||
- **[KPack (KolibriOS's LZMA compressor)](https://wiki.kolibrios.org/wiki/Kpack)**
|
||||
|
||||
Once you have all the dependencies installed, follow these steps:
|
||||
|
||||
1. Clone the repository:
|
||||
```bash
|
||||
git clone https://git.kolibrios.org/GSoC/kolibrios-nvme-driver
|
||||
```
|
||||
|
||||
2. Change into the directory of the cloned repository and manually extract the latest KolibriOS images
|
||||
from [the KolibriOS website](https://kolibrios.org/en/download.htm) into the cloned repository.
|
||||
|
||||
3. Install the driver into the image:
|
||||
```bash
|
||||
make install
|
||||
```
|
||||
|
||||
And you should be good to go.
|
Loading…
Reference in New Issue
Block a user