Commit Graph

28 Commits

Author SHA1 Message Date
Jeremy Soller 8bf5d60e96 Adjust logging, ensure drivers get unique logfiles 2025-10-24 08:19:34 -06: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
4lDO2 6353fc73b4 Make ided and lived compile. 2025-03-29 10:19:05 +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 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 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 aacf09cef4 storage/driver-block: Remove id method from Disk trait 2025-03-07 20:42:41 +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 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 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
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 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
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
4lDO2 ccbc1d6d69 Switch ided to v2 scheme protocol. 2024-06-15 12:14:18 +02:00
Jeremy Soller b13b7c8e7c ided: detect when controller is DMA capable 2024-06-12 07:57:54 -06:00
Jacob Lorentzon ff956fd3bb Switch to libredox where applicable (fixed) 2024-03-18 22:09:25 +00:00
Jeremy Soller 98078650f8 Revert "Switch to libredox where applicable."
This reverts commit 2e7dbf1cc1.
2024-03-18 15:00:52 -06:00
4lDO2 2e7dbf1cc1 Switch to libredox where applicable. 2024-03-18 19:23:05 +01:00
bjorn3 20bc47f228 Move DiskWrapper into a new driver-block crate
Also merge block-io-wrapper into this crate.
2024-03-06 21:09:38 +01:00
bjorn3 c75b560def Move all storage drivers to storage/ 2024-02-29 15:41:05 +01:00