Commit Graph

85 Commits

Author SHA1 Message Date
bjorn3 de6beb8992 Implement network:mac in all remaining network drivers 2024-02-26 20:48:02 +01:00
bjorn3 3751c915fe Unify the scheme handling of all network drivers
This deduplicates a fair bit of non-trivial logic and makes it easier to
keep all network drivers in sync when the interface changes.
2024-02-26 20:43:41 +01:00
Jeremy Soller c52e17dd46 Even more fixes for 32-bit x86 2024-02-16 21:00:13 -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
Jeremy Soller 15e523c8eb alxd,ihdad,rtl8168d: support MMIO on 32-bit systems 2023-09-09 11:19:17 -06:00
Jeremy Soller 61e9512468 Update redox_syscall to 0.4 2023-09-07 20:49:37 -06:00
Ian Douglas Scott bd2a66d817 Use default branch of netutils instead of removed branch 2023-08-02 18:41:26 -07: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
Jeremy Soller bfe8536d58 Add rtl8139 driver 2023-07-06 10:32:16 -06:00
4lDO2 a5a3f3341f Remove all usages of physunmap. 2023-06-11 11:33:27 +02:00
Jeremy Soller d74a406dcd rtl8168d: Allow use of BAR1 for 32-bit systems 2023-01-20 13:30:41 -07:00
Jeremy Soller c57b3c8910 rtl8168: enable MSI and MSI-X 2022-11-19 16:18:39 -07: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
Jeremy Soller 00de428d6b Workarounds for x86 32-bit 2022-07-26 17:20:34 -06:00
4lDO2 07f10fb4d1 Update redox_syscall to v0.2.12 2022-03-24 16:06:00 +01:00
4lDO2 d426ffacea Update toolchain to 2022-03-18. 2022-03-19 15:06:29 +01:00
Jeremy Soller c5a1013bc2 rtl8168d: use syscall::Daemon 2022-03-01 20:34:27 -07:00
4lDO2 7a2b3d7656 Update dependencies. 2021-06-17 18:18:27 +02:00
Jeremy Soller be101621cc Update to newer syscall 2020-08-02 15:25:03 -06:00
Jeremy Soller a16604fc2c e1000d and rtl8168d will use pipe to wait for network: before continuing 2020-07-19 21:04:10 -06:00
Jeremy Soller 084587ed02 Add TODO to address spurious interrupts 2019-09-11 22:03:34 -06:00
Jeremy Soller c7f02e5e21 rtl8168d: fix calculation of next read size 2019-09-11 21:03:07 -06:00
Jeremy Soller 7f95962fa2 rtl8168d: match 8169 device and add documentation 2019-09-11 20:35:09 -06:00
Jeremy Soller 2087f0ad03 Fix parsing of bar size 2019-09-04 20:40:18 -06:00
Jeremy Soller eda6bc6f92 Calculate and use PCI BAR memory sizes in most drivers. 2019-09-04 20:38:08 -06:00
Jeremy Soller aecb345abc Remove rtl8168d debugging 2019-08-29 20:31:33 -06:00
Jeremy Soller 2de4a526fb Merge scheme handling in e1000d and rtl8168d 2019-08-29 20:16:48 -06:00
Jeremy Soller a0ada39f1b rtl8168d: Open irq file with O_NONBLOCK 2019-08-29 19:31:56 -06:00
Jeremy Soller d49c945826 rtl8168d: Use pause in spin loops 2019-08-29 08:22:16 -06:00
Jeremy Soller 56894fbdc2 rtl8168d: handle EOF 2019-07-26 20:13:37 -06:00
Jeremy Soller f4d54c1831 Merge branch 'redox-unix' into 'redox-unix'
Add ixgbe driver and split filesystem.toml into separate driver config files

See merge request redox-os/drivers!46
2019-07-03 20:21:38 +00:00
Simon Ellmann 1e3413acaa Add ixgbe driver and split filesystem.toml into separate driver config files 2019-07-03 20:22:19 +02:00
Roland Ruckerbauer b50437af8a Fixed deprecated syntax in vesad
2018 edition upgrade & fixes for a bunch of 'future error warnings'

Actually upgrading all crates to 2018 edition
2019-06-29 21:47:52 +02:00
Jeremy Soller 50652ceb93 Temporary patches for Redox with unix target family 2019-04-23 13:25:41 -06:00
Jeremy Soller 7afaadabd9 Ensure that MMIO memory is mapped without caching 2019-04-08 20:22:01 -06:00
Jeremy Soller e090281086 Support for new fevent 2019-03-13 13:58:55 -06:00