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

59 Commits

Author SHA1 Message Date
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
b15fb4d9a2 fix IDENTC struct 2024-05-28 20:24:57 -04:00
139e201f3e fix: NVME_MMIO field padding 2024-05-28 18:02:46 -04:00
ff1ebbc7c6 add more struct fields and change NVM_ASQS value 2024-05-28 17:55:06 -04:00
a181eccd9c fix: allocate appropriate number of pages 2024-05-28 12:26:27 -04:00
a57d980846 finish controller configuration 2024-05-26 16:54:59 -04:00
46076ba2f0 fix: indentation 2024-05-26 13:24:34 -04:00
d172666be2 wip: setup controller configuration 2024-05-25 20:37:42 -04:00
78af4fb996 fix lots of nasty bugs! 2024-05-25 18:56:58 -04:00
e2e1e50490 implement more stuff 2024-05-23 19:15:34 -04:00