2
0
mirror of https://git.missingno.dev/kolibrios-nvme-driver/ synced 2024-12-22 22:08:47 +01:00
Commit Graph

68 Commits

Author SHA1 Message Date
e2c2254a5b add more assertions 2024-08-05 11:37:41 -04:00
0f140a9c90 chore: remove useless fields from pcidev struct 2024-08-02 13:16:09 -04:00
7cc1601d90 add assertions to make sure submission and completion queue sizes are the same 2024-07-31 16:05:55 -04:00
a88a44c627 initialize command entries 2024-07-30 17:22:28 -04:00
c3901b163e bug fixes 2024-07-30 14:38:53 -04:00
0d7f6b1c8f misc: set vim syntax to fasm 2024-07-30 12:39:00 -04:00
bee583765f disable MSI interrupts if present 2024-07-26 14:42:46 -04:00
0a2b3bfe9d remove useless phase_tag field 2024-07-25 18:31:15 -04:00
a5c1920c0e more bloat removal 2024-07-23 14:59:08 -04:00
39dcfd2edc perf: remove some unneeded code bloat 2024-07-23 14:10:42 -04:00
0eea7a6130 refactor: tweak some things
First of all, the driver will now abort initialization if it encounters
the first found namespace LBADS is not 512, since KolibriOS doesn't
support a LBADS greater than 512 as of now.

This commit also removes verbose debug logs and adds appropriate error
codes to nvme_readwrite
2024-07-20 16:38:12 -04:00
b88c5185a7 fix: get correct physical address of PRP2 2024-07-18 15:17:27 -04:00
14f01df0f7 style: fix indentation 2024-07-05 17:11:51 -04:00
d4bb46c00b some refactoring and fixes 2024-07-04 14:42:06 -04:00
5f2adab1ab wip: read command 2024-07-01 17:10:36 -04:00
274a5681a2 more I/O command fixes 2024-06-27 18:31:51 -04:00
34ff6d786e fix: initialize I/O queues correctly 2024-06-27 15:55:29 -04:00
5bc4a832f1 feat: add support for consuming completion queues entries from multiple queues 2024-06-27 15:19:32 -04:00
7bba4781fb feat: implement disk registering code 2024-06-25 18:37:04 -04:00
43f29c791a add num field to each detected NVMe device 2024-06-25 15:44:04 -04:00
f612befee6 implement reporting on namespace info 2024-06-25 15:24:52 -04:00
603a48e351 refactor: change NVM_ASQS to 63 2024-06-25 14:28:29 -04:00
8f806cfb6f lots of refactoring 2024-06-24 16:55:29 -04:00
bb59692ca4 add nn field to pcidev struct 2024-06-22 14:42:30 -04:00
d6f62cc4f3 add nsids field to pcidev struct 2024-06-22 14:32:40 -04:00
528d469ab0 refactor: allocate sq_ptr/cq_ptr for each queue 2024-06-20 16:27:09 -04:00
2f07187623 fix fatal bugs in write_admin_cmd and dont handle IRQs if they dont belong to the NVMe device 2024-06-20 15:55:32 -04:00
5974fc7fb0 feat: create I/O queues and fix other admin commands 2024-06-18 18:21:32 -04:00
3b1028b5dd add code for freeing cid slots 2024-06-13 13:53:59 -04:00
9c1147b31d fix admin commands and auto assign CIDS 2024-06-13 12:46:34 -04:00
5f43171b7e add new fields and constants 2024-06-12 18:02:46 -04:00
8f67604ddf lots of fixes 2024-06-12 15:47:32 -04:00
cc3e3f6ec4 refactor some stuff 2024-06-11 19:57:02 -04:00
83004aca87 add NVM_QUEUE struct 2024-06-09 18:12:45 -04:00
482d186c1a change pcidev.dstrd to byte 2024-06-09 13:06:40 -04:00
bc3435ad09 add new fields to pcidev struct 2024-06-08 14:32:36 -04:00
81a102ad6a chore: set to filetype to asm in vim 2024-06-08 12:25:46 -04:00
04f89899de rename: LPI to LID 2024-06-06 14:25:24 -04:00
1444ffc605 add log page identifier constants 2024-06-06 14:22:32 -04:00
d5a4850be7 style: rename pcidev.mmio_ptr to pcidev.io_addr 2024-06-06 14:00:10 -04:00
8b8dca1c05 add NSGRANLS struct and controller version constants 2024-06-06 13:28:02 -04:00
721fe6582f add constants 2024-06-04 15:59:25 -04:00
2b9f8d7f37 feat: implement create_io_completion_queue 2024-06-04 14:44:06 -04:00
0da7af8254 change NVM_ASQS size 2024-06-03 14:14:36 -04:00
c462215a17 add ipin and iline fields to pcidev struct 2024-05-30 16:06:27 -04:00
97d9fc0c76 perf: add padding in pcidev 2024-05-29 19:28:41 -04:00
dd16f8428a add dstrd field to pcidev struct 2024-05-29 15:42:03 -04:00
87983602bb fix: field padding in structs 2024-05-29 13:49:49 -04:00
182f82e20d add IDENTN data structure 2024-05-29 13:16:26 -04:00
739fa59206 fix: SQ_ENTRY field padding 2024-05-28 21:46:07 -04:00