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

100 Commits

Author SHA1 Message Date
ca5ccaa86b refactor(nvme_init): use separately allocated queue pointers instead of using dptr 2024-06-20 18:14:28 -04:00
0cb86ee2ab refactor(nvme_init): pass nullptr as parameter to set_features
Getting number of queues doesn't involve DPTR field in any way at all,
so no point in having it there.
2024-06-20 16:29:52 -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
b0f9e47c9b remove some debug messages 2024-06-19 13:50:54 -04:00
5974fc7fb0 feat: create I/O queues and fix other admin commands 2024-06-18 18:21:32 -04:00
abeaf82e38 feat: get set_features working and improve IRQ handler 2024-06-14 20:26:41 -04:00
f1caae2a8c refactor 2024-06-14 16:12:53 -04:00
2eb22ef14b fix IRQ, set_features, abort command bugs 2024-06-13 14:09:13 -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
544565bde9 wip: controller initialization 2024-06-12 18:03:01 -04:00
5f43171b7e add new fields and constants 2024-06-12 18:02:46 -04:00
569a11e64f add lib.asm 2024-06-12 18:02:32 -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
4e9a9cc8c2 more refactoring and fixes 2024-06-09 18:13:01 -04:00
83004aca87 add NVM_QUEUE struct 2024-06-09 18:12:45 -04:00
34bfcf8719 fix nvme_identify and irq_handler 2024-06-09 14:57:42 -04:00
dd3ebb1716 wip: add interrupt handling code 2024-06-09 13:07:01 -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
c177893309 apply some fixes for submitting admin commands 2024-06-08 14:32:25 -04:00
81a102ad6a chore: set to filetype to asm in vim 2024-06-08 12:25:46 -04:00
cec15b9114 add get_log_page (incomplete) 2024-06-08 12:25:29 -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
654b095d6f add assertions for nvme_identify and wip implementation of create_namespace 2024-06-06 13:28:31 -04:00
8b8dca1c05 add NSGRANLS struct and controller version constants 2024-06-06 13:28:02 -04:00
f4ded13c9a feat: implement set_features and abort 2024-06-06 12:43:57 -04:00
a693301a4c fix: set SQ_ENTRY.CDW0 to valid value in commands 2024-06-04 16:12:19 -04:00
c74cff54cb add set_cdw0 proc 2024-06-04 16:06:32 -04:00
721fe6582f add constants 2024-06-04 15:59:25 -04:00
786f696de8 feat: implement get_features 2024-06-04 15:43:12 -04:00
ee43919267 feat: implement delete_io_submission_queue and delete_io_completion_queue 2024-06-04 15:09:39 -04:00
021012d350 feat: implement create_io_submission_queue 2024-06-04 15:02:44 -04:00
2b9f8d7f37 feat: implement create_io_completion_queue 2024-06-04 14:44:06 -04:00
80eac9303c remove unused code and fix sqytdbl_write 2024-06-04 13:47:08 -04:00
4041563623 fix embarassing bugs 2024-06-03 16:49:42 -04:00
09aa423d8d fix: irq_handler 2024-06-03 14:28:35 -04:00
356350e593 wip: implement IRQ 2024-06-03 14:14:59 -04:00
0da7af8254 change NVM_ASQS size 2024-06-03 14:14:36 -04:00
7393da0eb5 wip: submit command support 2024-06-03 12:02:36 -04:00
a0cc2ec6a5 add sqytdbl_write and cqyhdbl_write 2024-05-30 17:11:24 -04:00
1197535b9c attach interrupt handler 2024-05-30 16:06:50 -04:00
c462215a17 add ipin and iline fields to pcidev struct 2024-05-30 16:06:27 -04:00
685d2c3f1f map ACQ and ASQ 2024-05-30 14:21:45 -04:00
f5534dbdcf remap entire MMIO 2024-05-29 19:29:01 -04:00
97d9fc0c76 perf: add padding in pcidev 2024-05-29 19:28:41 -04:00