Commit Graph

91 Commits

Author SHA1 Message Date
Jeremy Soller 28dd3596f3 More logging adjustments and set default level to info 2025-11-02 07:55:32 -07:00
Jeremy Soller 6d5523de2a Set all log levels, reduce unnecessary logs 2025-11-01 19:36:38 -06:00
Jeremy Soller 8bf5d60e96 Adjust logging, ensure drivers get unique logfiles 2025-10-24 08:19:34 -06:00
Wildan M 306079c091 Fix fmt 2025-10-22 16:27:38 +07:00
Jeremy Soller dfb977875f ahcid: add timeouts to all spin loops 2025-10-21 15:13:26 -06:00
bjorn3 322b7440bf Remove a useless loop in driver-block
This is a leftover from switching from a readiness based api to async
functions.
2025-10-14 20:15:35 +02:00
Filippo Mutta e157117890 USB: Added new paths in cargo.toml 2025-09-30 23:10:46 +02:00
Jeremy Soller 0b3d81e06b lived: preserve original disk data for performant installer 2025-09-25 09:50:06 -06:00
bjorn3 b9ce02ea90 storage/nvmed: Remove unused InterruptSources methods and fields 2025-08-30 20:11:05 +02:00
bjorn3 2945b86b82 pcid: Helper to allocate first MSI interrupt 2025-08-30 19:14:01 +02:00
bjorn3 0a314b0bad nvmed: Use std::hint::spin_loop 2025-08-30 19:14:01 +02:00
bjorn3 0b6b5e0d04 pcid: Move MappedMsixRegs to pcid_interface 2025-08-30 19:14:01 +02:00
bjorn3 04ae0158c9 Update most crates to redox-scheme 0.6
A couple of crates need to stay on redox-scheme 0.4 as they need
cancellation for async schemes.
2025-07-04 22:13:24 +02:00
bjorn3 a1b0feaadb storage: Notify readiness as soon as the disk scheme has been created
This prevents boot hangs when the disk driver hangs between creating the
disk scheme and being fully initialized, while still preventing race
conditions.
2025-05-20 22:03:01 +02:00
Jeremy Soller 5e4d4427db Timeout of five seconds for nvmed init 2025-04-25 12:14:09 -06:00
4lDO2 3ba8c99915 Fix rustfmt CI and make bcm2835-sdhcid compile. 2025-03-30 16:45:55 +02:00
4lDO2 a180c5893f Make ahcid compile. 2025-03-29 10:19:05 +01:00
4lDO2 6353fc73b4 Make ided and lived compile. 2025-03-29 10:19:05 +01:00
4lDO2 49333114e4 rustfmt. 2025-03-29 10:19:05 +01:00
4lDO2 6b0d4da2a2 Remove 'async' Cargo feature from nvmed. 2025-03-29 10:19:05 +01:00
4lDO2 ab549721e9 Use async executor for nvmed. 2025-03-29 10:19:05 +01:00
4lDO2 fd28f5123c Add a hw-based async framework for block drivers. 2025-03-29 10:19:02 +01:00
Jeremy Soller 58bd24da8c Support addressing of hub devices 2025-03-21 10:15:36 -06:00
Jeremy Soller e3a13a0ce7 xhcid and friends: use newtype PortId to ensure route string can be passed where needed 2025-03-20 21:27:17 -06:00
bjorn3 5d76acfd74 Update to redox-scheme 0.4 2025-03-14 22:11:30 +01:00
bjorn3 258ea4e6a5 storage/usbscsid: Use the unified disk scheme implementation 2025-03-09 17:04:25 +01:00
bjorn3 9800c57133 storage/driver-block: Fix couple of error condition checks 2025-03-09 17:04:25 +01:00
bjorn3 269fd9abc0 storage/lived: Use the unified disk scheme implementation 2025-03-08 22:52:36 +01:00
bjorn3 865ca86666 storage: Mostly unify disk scheme implementations
lived and usbscsid still keep their old scheme implementations.
2025-03-08 13:06:31 +01:00
bjorn3 c68a50faf2 storage: Move irq methods out of the scheme structs 2025-03-08 12:38:14 +01:00
bjorn3 60a141b51c storage: Move most partition handling into DiskWrapper 2025-03-07 22:49:22 +01:00
bjorn3 b1dcda4cf7 storage/nvmed: Use DiskWrapper 2025-03-07 22:35:01 +01:00
bjorn3 371e8c0326 storage/virtio-blkd: Use DiskWrapper 2025-03-07 22:22:21 +01:00
bjorn3 9d27fad3d5 storage/driver-block: Make DiskWrapper generic over the disk type
This allows it to contain non-'static disks.
2025-03-07 22:22:21 +01:00
bjorn3 d0a7aed2fd storage/virtio-blk: Introduce VirtioDisk type 2025-03-07 22:22:20 +01:00
bjorn3 dfe23b0683 storage/driver-block: Make Disk::block_length infallible
It should be read when creating the struct implementing Disk and every
disk needs to have some block length.
2025-03-07 21:35:49 +01:00
bjorn3 f01a8c8d3e storage: Use DiskWrapper::pt in nvmed and virtio-blkd 2025-03-07 20:58:01 +01:00
bjorn3 ebdfc89e7a storage/nvmed: Pass NvmeNamespace by value and remove the separate nsid arguments 2025-03-07 20:46:33 +01:00
bjorn3 aacf09cef4 storage/driver-block: Remove id method from Disk trait 2025-03-07 20:42:41 +01:00
bjorn3 03329430b4 storage/driver-block: Handle block_read read buffer internally 2025-03-07 20:34:33 +01:00
bjorn3 9257cbbfa2 storage/partitionlib: Couple of cleanups 2025-03-06 22:48:10 +01:00
bjorn3 398103e710 storage/partitionlib: Rustfmt 2025-03-06 22:18:21 +01:00
bjorn3 f6c3be42e7 storage: Vendor partitionlib to make it easier to change 2025-03-06 22:18:08 +01:00
bjorn3 e7fe3183b0 Make all pcid_interface methods abort the process on errors
Effectively the only way to recover from errors in the communication
with pcid is by restarting the driver from scratch possibly after
restarting pcid. As such moving the aborts from individual drivers to
pcid_interface simplifies drivers while at the same time allowing nicer
error messages.
2025-03-02 12:36:35 +01:00
bjorn3 581d9eea33 Replace a whole bunch more repr(packed) with repr(C, packed) 2025-02-22 16:19:25 +01:00
bjorn3 e973f89139 Remove unnecessary feature gates
Some of these have been stabilized while others were likely no longer
used at all.
2025-02-22 14:38:33 +01:00
bjorn3 b1743d800c Remove all dup impls that only accept empty paths
Those dups are handled by the kernel already by creating a new reference
to the underlying file descriptor.
2024-12-27 15:13:42 +01:00
bjorn3 2c042f8c98 Fix a ton of unused import warnings 2024-12-26 16:05:04 +01:00
bjorn3 8eabb75524 Update redox-scheme to 0.3.0 2024-12-26 15:50:30 +01:00
Andrey Turkin 63b1d2cf8a bcm2835-sdhcid: remap mmio range as instructed by DTB 2024-12-18 21:16:33 +03:00