bjorn3
2c042f8c98
Fix a ton of unused import warnings
2024-12-26 16:05:04 +01:00
Jeremy Soller
5cf8bfda72
xhcid: remove transfer states on dead rings
2024-11-11 14:27:32 -07:00
Timothy Finnegan
4dedbac4e5
Fixed the deadlock by only addressing devices in response to attach requests....
2024-11-05 17:35:57 +00: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
Timothy Finnegan
39f43a51a1
Added some documentation to the XHCI daemon, clarified the scheme interface with a refactor
2024-09-10 00:43:42 +00:00
Jeremy Soller
897866d948
xhcid: switch back to polling and leave TODO
2024-09-06 20:09:04 -06:00
Jeremy Soller
b29d2c7c9e
xhcid: switch back to interrupts
2024-09-04 15:00:35 -06: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
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
bjorn3
df66633111
pcid: Store decoded MsixInfo instead of full capability in PciFeatureInfo
2024-06-10 21:00:07 +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
Jeremy Soller
13ebe960dd
xhcid: always use polling
2024-04-16 11:13:50 -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
Jeremy Soller
2c672a0568
More fixes for 32-bit x86
2024-02-16 20:58:54 -07:00
Enver Balalic
7439262994
ihdad, rtl8139d, rtl8168d, virtio-core, xhcid: Fix aarch64 build
2024-02-10 19:03:36 +01:00
bjorn3
67d3015e2e
Add helper for allocating a single MSI/MSI-X interrupt vector
...
It doesn't actually configure the device to emit it though, but does
make this easier to do.
2024-01-25 14:43:44 +01:00
bjorn3
9b809312c2
Ignore MSI-X PBA in all drivers
...
It isn't used in any driver and even on Linux no driver seems to use it
at all. The only times it seems to be useful are if you were to mask an
interrupt and want to check if the interrupt fired without unmasking or
if you want to make the device itself trigger an interrupt.
2024-01-24 14:28:40 +01:00
bjorn3
f43aa8574c
Simplify MSI-X table pointer computation
2024-01-24 14:28:40 +01:00
bjorn3
7dbf22331b
Share msix config validation code
2024-01-24 14:28:40 +01:00
bjorn3
354c351b19
Unify device info printing between drivers
2024-01-23 13:01:40 +01:00
bjorn3
77b97bb2ed
Introduce PciBar::physmap_mem helper
2024-01-23 12:02:40 +01:00
bjorn3
ad23ad5d93
Introduce irq_handle helper for legacy interrupts
2024-01-22 19:35:18 +01:00
bjorn3
bd6716efe4
Make legacy_interrupt_line an Option
...
Drivers don't need to know the exact legacy_interrupt_pin in use.
Just if legacy interrupts are enabled and if so which
legacy_interrupt_line is used.
2024-01-22 19:35:06 +01:00
bjorn3
a5d0c7c354
Use pci_types for reading BARs
...
This simplifies a lot of code and adds support for 64bit BARs.
2024-01-22 15:54:18 +01:00
bjorn3
5192816de7
Introduce expect_port and expect_mem helpers
2024-01-21 21:12:24 +01:00
bjorn3
dc13752d74
Force usage of pcid_interface
2024-01-20 19:42:06 +01:00
4lDO2
a6fee75f15
Phase out / in scheme names.
2023-11-09 14:39:57 +01:00
4lDO2
8555b8ab3d
Remove physmap in non-initfs drivers too.
2023-07-18 11:01:17 +02:00
4lDO2
a5a3f3341f
Remove all usages of physunmap.
2023-06-11 11:33:27 +02:00
Jeremy Soller
5bbe2e3f4c
ahci, ihda, pci, xhci: logging adjustments
2023-02-15 19:30:59 -07:00
Jeremy Soller
98a3106749
ihda, usbhid, xhci: logging adjustments
2023-02-15 19:24:50 -07:00
Jeremy Soller
a86f32e67a
xhci: Workaround for missing interrupts
2023-02-15 11:47:48 -07:00
Jeremy Soller
508a2ee4de
xhci: default to debug logging
2022-12-02 08:24:54 -07:00
Jeremy Soller
7a8177e15e
xhci: Derive log file name from scheme name
2022-11-28 06:56:12 -07:00
Jeremy Soller
4bca3e55d3
Fix xhcid compilation
2022-08-31 08:49:39 -06:00
Jeremy Soller
0e85c01ea3
Implement 64-bit BARs
2022-08-31 08:46:53 -06:00
Jeremy Soller
86b065d724
Allow boot to continue if HCI probe does not return
2022-08-27 08:33:53 -06:00
Jeremy Soller
8bbf1d8f5b
Fix typo in xhcid
2022-08-27 08:18:19 -06:00
4lDO2
21e30b7339
Replace syscall::clone() with libc::fork().
2022-07-27 16:25:01 +02:00
Jeremy Soller
cb9656d83d
Fix minor issue on x86_64
2022-07-26 17:31:02 -06:00
Jeremy Soller
00de428d6b
Workarounds for x86 32-bit
2022-07-26 17:20:34 -06:00
Jeremy Soller
a3a76284cb
xhcid: set logging filter to info
2022-04-13 09:05:26 -06:00
Jeremy Soller
8db1781146
xhcid: use actual BAR size
2022-04-12 20:34:56 -06:00
Jeremy Soller
0cd3a6b797
Fix scheme name for xhcid and launch drivers
2022-02-14 09:38:31 -07:00