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
Andrey Turkin
09b5033fbd
Wholesale cargo fmt to get CI back to green
2024-10-17 20:07:05 +03:00
Kamil Koczurek
d2c82add9d
Move Io/Pio/Mmio from redox_syscall to common
...
* Fix Mmio repr from transparent to packed.
* Rename Mmio::from to Mmio::new.
* Remove dead imports around affected code.
* Minor formatting.
2024-09-30 13:01:36 +02:00
Ivan Tan
897cf31893
migrate bcm2835-sdhcid to v2 scheme protocol
2024-09-29 09:36:36 +00:00
bjorn3
7935ed0248
Deduplicate setup_logging between all drivers
...
This will make it easier to change the way logging is done for all
drivers. This also fixes the log category for a couple of drivers as
well as makes failing to set the logger a fatal error. Only when a
logger is already set is it impossible to set another logger.
2024-07-24 22:00:40 +02:00
bjorn3
7eceaaa2bd
Rustfmt driver-network and driver-block
2024-07-21 13:56:20 +02:00
bjorn3
fd8dabd1bc
Use the new scheme format in most places
...
The graphics subsystem still uses the old format as orbital manually
parses the fpath result.
2024-07-11 21:14:45 +02:00
4lDO2
dd10d77350
Make lived stateless.
2024-06-16 11:27:24 +02:00
bjorn3
23ac696491
pcid: Add PciFunctionHandle::map_bar method
...
This will enable the pcid driver interface to safely map the MSI-X table
in the future without having to worry about a BAR being mapped twice.
2024-06-15 15:47:48 +02:00
bjorn3
a3b957c2e5
pcid: Fetch config in PciFunctionHandle::connect_default()
2024-06-15 15:16:09 +02:00
bjorn3
fdb9ea816b
pcid: Rename PcidServerHandle to PciFunctionHandle
2024-06-15 15:05:59 +02:00
bjorn3
3299a070f2
pcid: Also return bar size from physmap_mem and use it in two more drivers
2024-06-15 14:01:06 +02:00