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
4lDO2
ccbc1d6d69
Switch ided to v2 scheme protocol.
2024-06-15 12:14:18 +02:00
4lDO2
05ec7464ea
Update syscall.
2024-06-14 14:22:01 +02:00
4lDO2
2b146f8778
Properly pass POSITIONED new fd flag.
2024-06-14 13:51:13 +02:00
4lDO2
0058d7c948
Positioned IO.
2024-06-14 13:51:13 +02:00
4lDO2
a366841777
Switch remaining storage daemons to schemev2.
2024-06-14 13:51:13 +02:00
4lDO2
9dee2c12ae
Migrate nvmed to schemev2.
2024-06-14 13:51:13 +02:00
4lDO2
0ccf87f357
Use schemev2 for ahcid.
2024-06-14 13:51:08 +02:00
Jeremy Soller
8f98e28e97
Merge branch 'fix_virtio_blkd_empty_disk' into 'master'
...
virtio-blkd: Do not crash when the disk is empty
See merge request redox-os/drivers!164
2024-06-13 22:44:59 +00:00
bjorn3
47ce36741e
virtio-blkd: Avoid crash on ls /scheme
2024-06-13 21:47:22 +02:00
bjorn3
32bcf25f99
virtio-blkd: Do not crash when the disk is empty
2024-06-13 21:33:11 +02:00
Jeremy Soller
b13b7c8e7c
ided: detect when controller is DMA capable
2024-06-12 07:57:54 -06:00
bjorn3
4f583b1cfb
Store decoded MSI info instead of full capability in PciFeatureInfo
2024-06-11 16:48:43 +02:00