Commit Graph

156 Commits

Author SHA1 Message Date
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