Commit Graph

72 Commits

Author SHA1 Message Date
bjorn3 2b5ed69a06 Use PciAddress in a couple more places 2024-01-19 12:40:54 +01:00
4lDO2 0d99333c3f Remove PhysBox. 2023-12-12 12:03:03 +01:00
4lDO2 a6fee75f15 Phase out / in scheme names. 2023-11-09 14:39:57 +01:00
Jeremy Soller f228483f1f ahcid, nvmed: support MMIO on 32-bit systems 2023-09-09 12:15:07 -06:00
Jeremy Soller 61e9512468 Update redox_syscall to 0.4 2023-09-07 20:49:37 -06:00
4lDO2 d9d8d06d33 Use common::Dma in nvmed. 2023-07-18 12:45:03 +02:00
4lDO2 6e94a9e236 Remove physmap for disk drivers. 2023-07-18 11:01:16 +02:00
Jeremy Soller 5256a9af47 nvmed: enable async feature 2023-07-17 19:51:53 -06:00
4lDO2 a5a3f3341f Remove all usages of physunmap. 2023-06-11 11:33:27 +02:00
Jeremy Soller b6321aa764 nvme: logging adjustments 2023-02-15 19:34:05 -07:00
Jeremy Soller 625064004d Update for new Rust nightly 2023-02-11 14:37:22 -07:00
Jeremy Soller ee03583b58 Prevent drives from being opened more than once 2023-01-11 21:34:33 -07:00
Jeremy Soller d42f626808 nvmed: Yield instead of spin when waiting for submission queue item 2022-11-27 09:25:03 -07:00
Jeremy Soller ae66182c4e Name disk driver log files based on scheme name 2022-09-09 08:51:02 -06:00
Jeremy Soller 3ed83c74cf Workaround for real hardware prp issue 2022-09-07 12:01:15 -06:00
Jeremy Soller fe13ea390a Add feature for nvmed to not use reactor thread 2022-08-31 10:53:21 -06:00
Jeremy Soller 0e85c01ea3 Implement 64-bit BARs 2022-08-31 08:46:53 -06:00
Jeremy Soller efab53910e Return error on nvme completion status 2022-08-30 11:59:10 -06:00
Jeremy Soller 55526d6ab0 Do not set SGL flag, we only use PRP 2022-08-30 11:51:00 -06:00
Jeremy Soller 3379a64258 Fix for last nvmed commit 2022-08-30 10:15:26 -06:00
Jeremy Soller 50338d9b24 Remove unnecessary event queue from nvmed 2022-08-30 09:56:12 -06:00
4lDO2 af873f7626 Update redox_syscall dependency. 2022-07-27 17:55:39 +02:00
4lDO2 21e30b7339 Replace syscall::clone() with libc::fork(). 2022-07-27 16:25:01 +02:00
Jeremy Soller 00de428d6b Workarounds for x86 32-bit 2022-07-26 17:20:34 -06:00
Jeremy Soller da8ecef8a7 Workarounds for aarch64 support 2022-07-26 16:11:45 -06:00
Jeremy Soller 860821c150 Support compilation on more architectures 2022-07-26 16:01:54 -06:00
4lDO2 07f10fb4d1 Update redox_syscall to v0.2.12 2022-03-24 16:06:00 +01:00
Jeremy Soller 88a6eb17e9 Make nvmed less async, reduces hangs 2022-02-11 14:26:21 -07:00
Jeremy Soller a1d8b81428 Increase NVME debug level 2022-02-11 11:00:50 -07:00
Jeremy Soller 544f1cbebc nvmed,xhcid: print BAR number 2022-02-11 10:44:38 -07:00
Jeremy Soller b9d6ca7db5 nvmed: panic if BAR is 0 2022-02-11 10:41:56 -07:00
4lDO2 7a2b3d7656 Update dependencies. 2021-06-17 18:18:27 +02:00
Jeremy Soller be101621cc Update to newer syscall 2020-08-02 15:25:03 -06:00
4lDO2 6bd4bb814f Support xHCs that only support 32-bit physical addresses. 2020-06-18 19:17:20 +00:00
4lDO2 07b1fe79fa Cleanup, and remove trace log writes for nvmed. 2020-05-03 16:33:56 +02:00
4lDO2 938cce8c8c make qemu_nvme works!
only cleanup left...
2020-05-03 16:02:23 +02:00
4lDO2 3558397859 ASYNC COMMAND SUBMISSION WORKS (partially). 2020-05-03 15:47:09 +02:00
4lDO2 cea6ce7d7a Move the setrens to a later position, in nvmed. 2020-05-02 00:05:04 +02:00
4lDO2 2db3bf4689 Read real block sizes. 2020-05-01 20:00:24 +02:00
4lDO2 1936f05030 NVME WORKS WITH IRQs 2020-05-01 14:14:47 +02:00
4lDO2 64e9eea9b0 Implement asynchronous command __submission__.
Note that by writing submission, I'm referring to blocking until a
submission queue has more entries available. The command completion
handling is already async.
2020-05-01 13:14:31 +02:00
4lDO2 c61e886108 Refactor and rustfmt the nvme driver. 2020-05-01 11:57:55 +02:00
4lDO2 167b994aea WIP: Asyncify IO SQ creation too. 2020-04-30 15:01:35 +02:00
4lDO2 3207f5a009 WIP: Make I/O completion queue creation async. 2020-04-30 14:48:43 +02:00
4lDO2 cbeb0070ec WIP: Asyncify namespace identification. 2020-04-29 20:44:38 +02:00
4lDO2 737870439a Wrap some NVME commands in async (not compiling). 2020-04-29 20:36:35 +02:00
4lDO2 6c2f103841 WIP: Complete the NVME CQ reactor (doesn't compile yet) 2020-04-29 19:35:48 +02:00
4lDO2 d485176bd6 Improve startup interrupt initialization. 2020-04-27 15:59:06 +02:00
4lDO2 e6a46bb6a6 Begin with NVME MSI support. 2020-04-25 23:02:16 +02:00
4lDO2 7b69d5b9b5 WIP: Use the enhanced pcid IPC. 2020-04-22 21:21:55 +02:00