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
Andrey Turkin
18b688a49c
Partial risc-v support
2024-10-17 20:07:17 +03:00