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
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
4lDO2
ea73da92bf
Replace all physalloc usages with Dma.
2023-12-12 12:03:03 +01:00
4lDO2
0d99333c3f
Remove PhysBox.
2023-12-12 12:03:03 +01:00
4lDO2
a6fee75f15
Phase out / in scheme names.
2023-11-09 14:39:57 +01:00
Jeremy Soller
676b1cda67
xhcid: support MMIO on 32-bit systems
2023-09-09 12:05:42 -06:00
Jeremy Soller
61e9512468
Update redox_syscall to 0.4
2023-09-07 20:49:37 -06:00
4lDO2
0277284874
Switch to common::Dma for each non-initfs driver.
2023-07-18 13:59:44 +02: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
79a9f447d2
xhci: workaround packet size and protocol speed issues on real hardware
2023-02-16 15:57:28 -07:00
Jeremy Soller
afb12dc98b
xhci: ensure doorbell is rung after irq reactor has state
2023-02-16 15:28:34 -07:00
Jeremy Soller
f0ff668f0c
xhcid: fix direction of status stage in scheme
2023-02-16 07:39:35 -07: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
e62b798a8b
xhci: Fix status stage TRB direction in get_desc_raw
2023-02-15 13:13:39 -07:00
Jeremy Soller
a86f32e67a
xhci: Workaround for missing interrupts
2023-02-15 11:47:48 -07:00
Jeremy Soller
625064004d
Update for new Rust nightly
2023-02-11 14:37:22 -07:00
Jeremy Soller
5874776304
xhci: temporarily ignore bos descriptors
2022-12-02 08:25:13 -07:00
Jeremy Soller
508a2ee4de
xhci: default to debug logging
2022-12-02 08:24:54 -07:00
Jeremy Soller
6187ea09bc
xhci: port reset outside of async code, assume slot type is 0 if missing
2022-12-02 08:24:28 -07:00
Jeremy Soller
7a8177e15e
xhci: Derive log file name from scheme name
2022-11-28 06:56:12 -07:00
Jeremy Soller
f3e678cb8a
xhci: Fix deadlock when a stall is recieved
2022-11-28 06:55:00 -07:00
Jeremy Soller
4b54a3d2cd
xhci: Add DescriptorKind derives
2022-11-28 06:53:04 -07:00
Jeremy Soller
2f15288beb
xhci: Perform both port reset and controller reset
2022-11-28 06:52:20 -07:00
Jeremy Soller
43375cbe9d
xhci: Warn on unknown BOS instead of panic
2022-11-27 16:31:04 -07:00
Jeremy Soller
766020195b
Note when there is a missing USB driver
2022-09-26 11:07:41 -06:00
Jeremy Soller
efc5cc712d
Disable xhcid until it works on real hardware
2022-09-09 08:38:52 -06:00
Jeremy Soller
fc8ef508a5
xhcid: Make polling mode code match normal irq code
2022-09-02 11:32:38 -06:00
Jeremy Soller
988cb5c066
xhcid: fix polling mode
2022-09-02 11:24:35 -06: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
af873f7626
Update redox_syscall dependency.
2022-07-27 17:55:39 +02:00
4lDO2
21e30b7339
Replace syscall::clone() with libc::fork().
2022-07-27 16:25:01 +02:00
4lDO2
badd5906d5
Page-align size in physmap.
2022-07-27 15:33:25 +02:00
Jeremy Soller
cb9656d83d
Fix minor issue on x86_64
2022-07-26 17:31:02 -06:00