|
a1a24073c3
|
chore: remove write_admin_cmd
|
2024-06-21 13:54:40 -04:00 |
|
|
38b93a8240
|
refactor: fix sqytdbl_write and dont use write_admin_cmd for admin command submissions anymore
|
2024-06-21 13:49:05 -04:00 |
|
|
c6c6aea5ea
|
feat: implement nvme_write and sqytdbl_write + add TODOS
|
2024-06-21 13:33:32 -04:00 |
|
|
6360db0733
|
fix: remove long delay after set features cmd
This also fixes the `nvme_cmd_wait` function.
|
2024-06-20 18:31:31 -04:00 |
|
|
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 |
|