Commit Graph

1081 Commits

Author SHA1 Message Date
bjorn3 ae2240ef0f pcid: Remove some PciHeader methods 2024-06-16 13:12:29 +02:00
bjorn3 56000cbd9c pcid: Remove subsystem id from PciEndpointHeader 2024-06-16 13:03:58 +02:00
Jeremy Soller e1a2e21735 Merge branch 'x86_virtio_modern_transport' into 'master'
Support the modern virtio transport on x86

See merge request redox-os/drivers!173
2024-06-15 21:37:44 +00:00
bjorn3 359f4482dd virtio: Merge the x86 and x86_64 platform specific code 2024-06-15 21:59:10 +02:00
bjorn3 b6a75d0a16 virtio: Support the modern transport on x86 2024-06-15 21:59:10 +02:00
Jeremy Soller be02d70c60 Merge branch 'rustfmt_pcid' into 'master'
Rustfmt pcid

See merge request redox-os/drivers!172
2024-06-15 19:41:09 +00:00
bjorn3 2144eaa62c Rustfmt pcid 2024-06-15 21:38:43 +02:00
Jeremy Soller cd498c1826 Merge branch 'pcid_int_rework' into 'master'
Add PciFunctionHandle::map_bar method

See merge request redox-os/drivers!171
2024-06-15 13:51:20 +00: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
Jeremy Soller aaa3b89a1d Merge branch 'pcid_cleanup7' into 'master'
Use pci_types for parsing capabilties

See merge request redox-os/drivers!170
2024-06-15 11:55:03 +00:00
bjorn3 4bd978da7a pcid: Use pci_types for parsing capabilties 2024-06-15 13:45:57 +02:00
bjorn3 2ab2fe7b5e Update to pci_types 0.10.0 2024-06-15 13:41:51 +02:00
Jeremy Soller ac5f839ded Merge branch 'ided' into 'master'
Switch ided to v2 scheme protocol.

See merge request redox-os/drivers!169
2024-06-15 11:29:47 +00:00
4lDO2 ccbc1d6d69 Switch ided to v2 scheme protocol. 2024-06-15 12:14:18 +02:00
Jeremy Soller cec242c73d Merge branch 'schemev2plus' into 'master'
Use new positioned IO interface in disk drivers

See merge request redox-os/drivers!168
2024-06-14 12:31:50 +00: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 4f86767f03 Merge branch 'initfs_hex_pci_id' into 'master'
Use hex pci id's in initfs.toml

See merge request redox-os/drivers!166
2024-06-14 11:23:30 +00:00
Jeremy Soller 0e5977b868 Merge branch 'pcid_cleanup6' into 'master'
pcid: Replace get_capabilities with get_vendor_capabilities

See merge request redox-os/drivers!167
2024-06-14 11:23:00 +00:00
Jeremy Soller 9d3361d4dd Merge branch 'virtio' into 'master'
Fix vga=virtio by using a scatter-gather list for the framebuffer.

See merge request redox-os/drivers!165
2024-06-14 11:21:46 +00:00
bjorn3 386a63df42 pcid: Replace get_capabilities with get_vendor_capabilities
While this stops returning raw MSI/MSI-X capabilities from
get_capabilities, the same info can be obtained using
fetch_all_features and feature_info.
2024-06-14 11:12:06 +02:00
bjorn3 019779daee Use hex pci id's in initfs.toml
This is consistent with the pcid configs for non-initfs drivers.
2024-06-14 11:06:49 +02:00
4lDO2 7b2f4dda90 Use scatter-gather list for virtio framebuffer.
The current frame allocator limits requests to powers of two, between 4
KiB and 4 MiB. As such, a 8-bit color 1920x1080 framebuffer needs at
least two allocations.
2024-06-14 08:26:19 +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
Jeremy Soller b26b1e7b7f Merge branch 'pcid_cleanup5' into 'master'
Remove PciFunc

See merge request redox-os/drivers!163
2024-06-13 22:40:43 +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
bjorn3 d2084e58cb pcid: Remove PciFunc 2024-06-13 15:06:49 +02:00
bjorn3 d3dc2e0f80 pcid: Remove all PciFunc methods 2024-06-13 14:52:02 +02:00
Jeremy Soller b13b7c8e7c ided: detect when controller is DMA capable 2024-06-12 07:57:54 -06:00
Jeremy Soller 75a9a3b48a Merge branch 'minor_changes' into 'master'
Couple of minor changes

See merge request redox-os/drivers!162
2024-06-11 19:17:15 +00:00
bjorn3 f6a709ee5a pcid: Simplify PciFunc::read_range
This also avoids UB caused by creating a slice of uninitialized u8.
2024-06-11 21:05:25 +02:00
bjorn3 dc33cba4c0 Fix typo 2024-06-11 21:05:09 +02:00
Jeremy Soller 8e67869b96 Merge branch 'pcid_cleanup4' into 'master'
Store decoded MSI info instead of full capability in PciFeatureInfo

See merge request redox-os/drivers!161
2024-06-11 18:09:54 +00:00
bjorn3 8e02a87474 pcid: Reduce visibility of MsiCapability and MsixCapability methods 2024-06-11 16:57:58 +02:00
bjorn3 4f583b1cfb Store decoded MSI info instead of full capability in PciFeatureInfo 2024-06-11 16:48:43 +02:00
Jeremy Soller 7a67110109 Merge branch 'pcid_cleanup3' into 'master'
Simplify and refactor handling of MSI/MSI-X

See merge request redox-os/drivers!160
2024-06-10 20:27:54 +00:00
bjorn3 df66633111 pcid: Store decoded MsixInfo instead of full capability in PciFeatureInfo 2024-06-10 21:00:07 +02:00
bjorn3 7c112c34dd pcid: Remove some unused methods on MsixCapability 2024-06-10 19:44:12 +02:00
bjorn3 15c9ad1ba6 pcid: Ensure MSI and MSI-X are not enabled at the same time 2024-06-10 19:44:12 +02:00
bjorn3 588bbfe6a3 pcid: Stop returning feature enable status from fetch_all_features
For the same reason the feature_status method was removed.
2024-06-10 19:44:12 +02:00
bjorn3 e14e56349f pcid: Remove method to get the current feature status
Devices should never change the feature status behind the back of the
driver, so storing the current status after setting it is fine. Drivers
should reset all state when they start to recover from a crashed driver,
so they shouldn't need to get the current feature status at startup
either.
2024-06-10 19:44:12 +02:00
bjorn3 123eef9635 pcid: Move capability offset into the Capability enum
This makes it easier to move to using pci_types for parsing PCI
capabilities.
2024-06-10 19:44:12 +02:00