Commit Graph

59 Commits

Author SHA1 Message Date
4lDO2 146265682a Improved PCI capability parsing. 2020-05-21 12:16:22 +00:00
4lDO2 cea6ce7d7a Move the setrens to a later position, in nvmed. 2020-05-02 00:05:04 +02:00
4lDO2 c61e886108 Refactor and rustfmt the nvme driver. 2020-05-01 11:57:55 +02:00
4lDO2 d485176bd6 Improve startup interrupt initialization. 2020-04-27 15:59:06 +02:00
4lDO2 4016b0c7b8 Fix failing pcid config parsing. 2020-04-23 15:35:44 +02:00
4lDO2 7b69d5b9b5 WIP: Use the enhanced pcid IPC. 2020-04-22 21:21:55 +02:00
4lDO2 07d4ae0e60 Recognize the AHCI-specific SATA PCI capability. 2020-04-22 18:52:51 +02:00
4lDO2 fe95c942ac Add pcid logging. 2020-04-22 18:27:43 +02:00
4lDO2 85691b8f4e Fix xhcid. 2020-04-22 14:43:06 +02:00
4lDO2 cafee6ad7b Allow per-cpu IRQ allocation. 2020-04-22 13:43:53 +02:00
4lDO2 4f62888bb4 Various fixes. 2020-04-21 15:42:51 +02:00
4lDO2 afe9c88f37 Allow every settable MSI field to be set. 2020-04-21 15:42:51 +02:00
4lDO2 cee5a39ccc Fix pcie memory destructor. 2020-04-19 17:32:45 +02:00
4lDO2 14206f0e5c Successfully read config space with PCIe MMIO*.
*to the extent where all the subdriver appear to function as normal.
2020-04-19 17:32:45 +02:00
4lDO2 31d5a95cf9 Add MCFG parsing for PCIe. 2020-04-19 17:32:45 +02:00
4lDO2 81afdb2750 Remove two todo comments. 2020-04-19 14:45:46 +02:00
4lDO2 443b160b6d Add internal locking to the Xhci struct. 2020-04-19 14:45:46 +02:00
4lDO2 cfc4d65d48 THE INTERRUPTS ARE GETTING GENERATED! 2020-04-19 14:45:46 +02:00
4lDO2 cb5a72fbc1 Successfully recognize (only one) MSI-X IRQ.
Somehow it only happens once though.
2020-04-19 14:45:46 +02:00
4lDO2 fa594155c9 Allow subdrivers to get the capability structs. 2020-04-19 14:45:46 +02:00
4lDO2 735c55f656 Rebase. 2020-04-19 14:45:46 +02:00
4lDO2 7536048ceb Parse some of the PCI capabilities, and setup IPC. 2020-04-19 14:45:46 +02:00
Jeremy Soller 4fd8664deb pcid: Skip empty buses and devices 2020-03-28 13:35:50 -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 55da4bcb84 Add missing import 2019-07-03 19:57:32 -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 79df020cbd If an IRQ is not set, use IRQ #9 2018-04-21 09:43:49 -06:00
Jeremy Soller 7fbb2c32e2 Fix BAR variables 2018-03-01 08:24:24 -07:00
Dan Robertson 4d349192da Allow PCI Config space parsing to handle types
- Update the PCI config space parsing to be able to handle multiple
   types.
 - Use a trait to abstract out reading from the config space in order to
   allow testing/fuzzing of the parser.
2018-02-27 22:46:30 +00:00
Dan Robertson b332607d77 Allow using a device ID range in toml config 2018-02-04 02:35:36 +00:00
Jeremy Soller 1461404502 Remove unnecessary unsafe 2018-01-28 14:51:24 -07:00
SeongUk Cho dd5f83cd39 solved error: #[derive] can't be used on a non-Copy #[repr(packed)] struct (error E0133) 2017-12-01 21:52:01 +09:00
2e07aab6de fixed pcid unsafe problem 2017-12-01 21:41:21 +09:00
2b4b940360 unsafe problem fixed 2017-12-01 21:35:55 +09:00
66826a8bf8 unsafe edited 2017-12-01 20:34:15 +09:00
Jeremy Soller 17b592b064 Remove unnecessary extern crate 2017-08-30 22:05:56 -06:00
Jeremy Soller 1d7e51b423 Update main.rs 2017-08-21 09:24:55 -06:00
Jeremy Soller 1e7240eda6 Update config.rs 2017-08-21 09:24:13 -06:00
TheSchemm beefc3e1e6 Added and as arguments to pass to driver. 2017-06-16 22:16:50 -05:00
Jeremy Soller 15675ea9c3 Allow retry of commands, allow failure of commands 2017-04-26 21:28:45 -06:00
Karl Hobley 520c140da8 Migrate to serde. Fixes #9 2017-04-23 15:29:48 +01:00
Jeremy Soller 0b94ce28e4 WIP: ALX driver 2017-03-26 15:24:25 -06:00
Jeremy Soller 5b223c06d0 Improve XHCI driver 2017-02-13 22:15:19 -07:00
Jeremy Soller 608403765d Refactor to move io into syscall, and use git for crate references 2017-01-09 20:36:36 -07:00
Jeremy Soller 68a2fe57bc WIP: Predictable naming 2016-11-21 12:23:17 -07:00
Jeremy Soller b18653c57d Debug all driver activity to display:1, use format to avoid line splitting 2016-10-22 19:35:23 -06:00
Jeremy Soller cb5f38dfdc Do not throw pcid into background - this prevents ethernetd from exiting if it tries to open network: too early 2016-10-22 19:00:36 -06:00
Jeremy Soller 571c5ac641 Less output in pcid, fix e1000d crate name 2016-10-19 13:19:37 -06:00