2
0
mirror of https://git.missingno.dev/kolibrios-nvme-driver/ synced 2024-11-10 02:20:27 +01:00
Commit Graph

224 Commits

Author SHA1 Message Date
4d3211604d refactor: change queue size from 63 to 64 2024-08-05 17:23:40 -04:00
511db105a9 fix: reduce timeout value and initialize ACQ and ASQ addresses properly 2024-08-05 17:22:53 -04:00
4ac6818567 style: show completion queue base address before submission queue 2024-08-05 16:22:04 -04:00
3dbcfa5bad fix: allocate queues next to eachother 2024-08-05 16:17:54 -04:00
8557d0a450 tidy up queue allocation 2024-08-05 12:49:35 -04:00
e2c2254a5b add more assertions 2024-08-05 11:37:41 -04:00
50c2dc9a05 debug: add submission queue write log 2024-08-04 12:34:10 -04:00
66de6fd7d6 fix(nvme_readwrite): add missing return 2024-08-04 11:57:01 -04:00
2f7fd1e65f add kolibri.img 2024-08-03 15:07:18 -04:00
bd4bec5487 add print log to show if NVMe device was detected on the PCI bus 2024-08-03 13:18:06 -04:00
4a1f7a5475 fix: add check to make sure p_nvme_devices isnt null 2024-08-03 13:05:12 -04:00
b2f63c4997 refactor(nvme_cleanup): add proper cleanup 2024-08-02 14:01:20 -04:00
e1ad8f643d fix: dont load driver if no NVMe disk was successfully initialized 2024-08-02 13:37:32 -04:00
c9d58c1ec7 fix: add null terminator to IDENTC ASCII strings
This prevents garbage and redundant values from being printed to the
debug log.
2024-08-02 13:17:16 -04:00
0f140a9c90 chore: remove useless fields from pcidev struct 2024-08-02 13:16:09 -04:00
f40321f869 refactor: dont map MMIO registers twice 2024-08-02 12:54:41 -04:00
404f451e0c fix PRP list allocation regression 2024-08-01 13:49:18 -04:00
365ccac9eb fix regression 2024-08-01 12:25:30 -04:00
d36f13f7af fix: initialize command mutexes correctly 2024-08-01 12:08:41 -04:00
0cbf662a9f perf: use memcpyd instead of memcpy 2024-08-01 12:02:07 -04:00
7cc1601d90 add assertions to make sure submission and completion queue sizes are the same 2024-07-31 16:05:55 -04:00
e9f371d20b fix: assign CDW10.QSIZE in create I/O queues to correct value 2024-07-31 15:48:38 -04:00
1463187a62 add debug message for showcasing CAP.MQES 2024-07-31 15:36:37 -04:00
9998faa834 build: add proper nvme.asm dependencies 2024-07-31 15:26:06 -04:00
edafe73367 rename: lib.asm -> lib.inc 2024-07-31 15:25:23 -04:00
e8a5910681 refactor: move NVMe commands to a separate file 2024-07-31 15:24:54 -04:00
534103061c important bug fix and some micro optimizations
As for the fix, the submission queues weren't properly being zeroed out
due to a small typo. The other stuff has some commented out stuff that
I'm currently debugging and working on.
2024-07-31 15:11:21 -04:00
a88a44c627 initialize command entries 2024-07-30 17:22:28 -04:00
6a8ab65661 another bug fix (2) 2024-07-30 15:09:49 -04:00
25ee3eb491 another bug fix 2024-07-30 14:59:46 -04:00
c3901b163e bug fixes 2024-07-30 14:38:53 -04:00
dd4db45869 fix: use correct NVMe disk parameter 2024-07-30 13:52:37 -04:00
362a97ab12 chore: remove useless constants 2024-07-30 13:49:27 -04:00
6262634324 feat: implement support for multiple NVMe drives 2024-07-30 13:48:50 -04:00
0d7f6b1c8f misc: set vim syntax to fasm 2024-07-30 12:39:00 -04:00
13f65bea18 ignore: *.py 2024-07-30 11:32:19 -04:00
d153c63abb remove CNS byte check in nvme_identify 2024-07-30 11:31:51 -04:00
c9e138d89f add verbose debug logs in nvme_init 2024-07-27 12:16:56 -04:00
bee583765f disable MSI interrupts if present 2024-07-26 14:42:46 -04:00
3d78f22409 make sure interrupts are enabled in PCI header 2024-07-26 13:14:50 -04:00
18b76f70b2 fix(nvme_poll): jump after timeout 2024-07-26 06:14:45 -04:00
7c4626b5f1 fix: initialize NSINFO.nsid in nvme_init 2024-07-25 18:50:01 -04:00
4b9fe7f4c0 significant refactoring
* Removed useless `nvme_wait` call
* Remove phase tag bit check in favor of spinlock checking
* Added back in queue wrapping (though, it still needs work)
* Fix in `is_queue_full` which didn't pop bx off the stack when
returning in some circumstances
2024-07-25 18:34:54 -04:00
0a2b3bfe9d remove useless phase_tag field 2024-07-25 18:31:15 -04:00
80e64d4d70 add LOCK_SPINLOCK macro 2024-07-25 18:30:28 -04:00
01fc77ba69 refactor: print controller version during initialization 2024-07-25 14:14:29 -04:00
6c120b8767 add TODO 2024-07-23 19:43:37 -04:00
a5c1920c0e more bloat removal 2024-07-23 14:59:08 -04:00
835840231f more code removal 2024-07-23 14:14:43 -04:00
39dcfd2edc perf: remove some unneeded code bloat 2024-07-23 14:10:42 -04:00