bjorn3
92428c535b
Only enable redox scheme logger when compiling for redox
...
This allows running pcid tests on the host.
2024-01-21 11:35:06 +01:00
Jeremy Soller
e2976d0f52
Merge branch 'pci_force_pcid_interface' into 'master'
...
Migrate all PCI drivers to pcid_interface
See merge request redox-os/drivers!133
2024-01-20 23:08:12 +00:00
Jeremy Soller
a4acf55ad8
Merge branch 'pci_cleanup' into 'master'
...
Couple more pcid cleanups
See merge request redox-os/drivers!132
2024-01-20 23:07:34 +00:00
bjorn3
dc13752d74
Force usage of pcid_interface
2024-01-20 19:42:06 +01:00
bjorn3
3b4d0e858f
Migrate vboxd to pcid_interface (untested)
2024-01-20 19:26:46 +01:00
bjorn3
878a02f29f
Migrate ixgbed to pcid_interface (untested)
2024-01-20 19:13:27 +01:00
bjorn3
075e28339f
Migrate e1000d to pcid_interface
2024-01-20 19:04:15 +01:00
bjorn3
d950e33184
Migrate ac97d to pcid_interface
2024-01-20 18:58:09 +01:00
bjorn3
f9f3407f36
Migrate ahacid to pcid_interface
2024-01-20 18:51:29 +01:00
bjorn3
558f11b3eb
Migrate bgad to pcid_interface
2024-01-20 18:34:40 +01:00
bjorn3
de7677604e
Use hex instead of decimal in all config.toml
...
This matches the way basically everyone prints PCI ids
2024-01-20 17:59:38 +01:00
bjorn3
382047b14e
Rename the pcie module to cfg_access
2024-01-20 16:04:18 +01:00
bjorn3
d832717bf9
Remove a bit of dead code
2024-01-20 14:42:29 +01:00
bjorn3
20eb92ae02
Assert PCI config space accesses are aligned
2024-01-20 14:36:37 +01:00
bjorn3
cb7dc2abd2
Only set iopl for helper threads when actually necessary
2024-01-20 14:17:51 +01:00
bjorn3
3cbfbf6442
Move the IO port based fallback for PCI out of the pci module
...
The pci module is included in the pcid_interface library, which never
needs it.
2024-01-20 14:07:31 +01:00
bjorn3
4f20b90fc3
Remove PciBus and PciDev types
...
They weren't used in a load bearing way. If we want to keep persistent
state about buses and devices in the future they would probably get a
different shape.
2024-01-20 13:38:45 +01:00
Jeremy Soller
46b83bac04
Merge branch 'pci_perf' into 'master'
...
Improve performance of PCIe MMIO config space accesses
See merge request redox-os/drivers!131
2024-01-19 22:25:15 +00:00
bjorn3
cf7fbacdaf
Stop leaking Mcfg again
...
We don't need it after Pcie::new anymore
2024-01-19 19:53:39 +01:00
bjorn3
529b4935ee
Physmap all buses upfront
...
This avoids a costly Mutex lock and BTreeMap lookup for each config
space access.
2024-01-19 19:50:11 +01:00
bjorn3
23d963361a
Fix a couple of warnings
2024-01-19 19:14:22 +01:00
bjorn3
cb9edcb7d6
Reduce log verbosity of Capability::parse_vendor by combining some logs
2024-01-19 19:11:05 +01:00
bjorn3
8d87b701ba
Remove Mcfgs type
...
This wrapper was only useful back when we accepted multiple MCFG tables.
2024-01-19 19:10:35 +01:00
bjorn3
ae7e2dac9f
Only parse a single MCFG ACPI table
...
There should only be one and Linux only parses the first one too.
2024-01-19 18:41:28 +01:00
bjorn3
07c029ec21
Add a fixme for using ACPI
2024-01-19 18:10:57 +01:00
Jeremy Soller
b014145232
Merge branch 'pci_types' into 'master'
...
A bunch of pci improvements
See merge request redox-os/drivers!130
2024-01-19 16:18:00 +00:00
bjorn3
101f062b56
Remove a couple of error conditions in Mcfgs::fetch()
...
* Every directory entry has to have a filename, so use unwrap
* Handle non-UTF-8 ACPI table filenames by using as_encoded_bytes
2024-01-19 14:58:09 +01:00
bjorn3
240e59e2bf
Handle pci buses without a device at the first slot
2024-01-19 14:45:48 +01:00
bjorn3
c611988768
Fix MCFG parsing for PCIe
2024-01-19 13:19:53 +01:00
bjorn3
b317484d67
Simplify Mcfgs::fetch
2024-01-19 13:00:23 +01:00
bjorn3
15249127a5
Fix a couple of warnings
2024-01-19 12:47:42 +01:00
bjorn3
d010d03eef
Fix pcid tests
2024-01-19 12:40:55 +01:00
bjorn3
2b5ed69a06
Use PciAddress in a couple more places
2024-01-19 12:40:54 +01:00
bjorn3
42b2f52d41
Directly store a PciAddress inside PciFunc instead of a PciDev + num
2024-01-19 12:29:22 +01:00
bjorn3
e5491a9e9a
Inline several layers of read and write methods
2024-01-19 12:21:22 +01:00
bjorn3
336903b90a
Introduce SharedPciHeader to deduplicate fields between the General and PciToPci variants
2024-01-19 12:14:02 +01:00
bjorn3
a7c5391c6c
Introduce PciAddress type copied from the pci_types crate
2024-01-19 12:14:00 +01:00
bjorn3
07d5d730d2
Remove nolock CfgAccess methods
...
They are only called by the corresponding locked methods.
2024-01-18 22:14:04 +01:00
Jeremy Soller
bf441b01f1
Merge branch 'virtio_cleanup' into 'master'
...
Couple of virtio cleanups
See merge request redox-os/drivers!129
2024-01-18 20:04:44 +00:00
bjorn3
fbcf01b413
Add a couple of FIXME
2024-01-18 19:03:10 +01:00
bjorn3
3f2f32de59
Add back VIRTIO_NET_F_MAC to virtio-netd
2024-01-18 18:48:25 +01:00
bjorn3
b06f0534aa
Remove interrupt status register probing
...
It isn't used when MSI-X is used and we always use MSI-X interrupts.
2024-01-18 18:45:32 +01:00
bjorn3
fcc55507ea
Move the notify_multiplier field into a separate PciCapabilityNotify type
...
It only exists for VIRTIO_PCI_CAP_NOTIFY_CFG and could conflict with
fields of other capability types.
2024-01-18 18:07:05 +01:00
bjorn3
380a416258
Reorganize virtio headers and add a couple of new fields
...
Also add a decent amount of comments from the virtio spec.
2024-01-18 17:17:39 +01:00
bjorn3
bd8b218174
Don't return Result from spawn_irq_thread
...
It never returns an error.
2024-01-18 15:29:06 +01:00
Jeremy Soller
ca8d73fb32
Merge branch 'graphics_rework' into 'master'
...
Move text console handling from vesad to a new fbcond daemon
See merge request redox-os/drivers!128
2024-01-15 02:00:50 +00:00
bjorn3
ed69a8ef6d
Open scheme in non-blocking mode and ensure events aren't lost
2024-01-14 21:20:42 +01:00
bjorn3
4f6f4d7267
Prevent a potential deadlock when writing to multiple text consoles
2024-01-14 19:29:02 +01:00
bjorn3
fe4f0880af
Couple of minor cleanups
...
Among other things this removes the seek implementation as it doesn't
seem to be used and didn't do anything anyway.
2024-01-14 19:10:47 +01:00
bjorn3
f64a6e4c6f
Remove text mode support from vesad
...
This is now handled by fbcond
2024-01-14 18:22:52 +01:00