Jeremy Soller
7b8485a582
Merge branch 'pci_ids_info' into 'master'
...
Add more structure cli to pcid.
See merge request redox-os/drivers!67
2020-08-01 18:16:31 +00:00
Wren Turkal
65982d5e02
Add more structure cli to pcid.
...
This change adds a structopt commandline interface to the pcid tool.
This add some help for the arguments that pcid takes.
Signed-off-by: Wren Turkal <wt@penguintechs.org >
2020-08-01 18:16:31 +00:00
Wren Turkal
39fea64403
Add pci vendor specific capability.
...
Signed-off-by: Wren Turkal <wt@penguintechs.org >
2020-08-01 00:40:30 -07:00
Wren Turkal
5db50db7a9
Fix buggy assertion in pcid capability parser.
...
The pcid capability parsing code has an assertion that checks for dword
alignment. Unfortunately, the check was previously checking for
alignment to qwords. This fixes that.
I found this issue by using qemu to emulate adding different pci
devices. I managed to come across a device that had a capability
aligned on dword, but not qword. That exposed the bug.
Signed-off-by: Wren Turkal <wt@penguintechs.org >
2020-07-31 21:39:21 -07:00
Wren Turkal
5dfd5f7e7c
Fixed PCI bus scan to scan bus 0xFF.
...
Previously, the PCI bus scan was skipping bus 0xFF. Now it does not.
I used a match expression to make sure that all cases are accounted for.
I also changed the PCI dev scan and PCI func scan to use a match
expression in a similar way to make sure all cases are account. While
this is functionally the same as before, the match expression will not
allow unhandled cases and should be easier to read and make it harder
to introduce bugs.
Signed-off-by: Wren Turkal <wt@penguintechs.org >
2020-07-27 22:49:39 -07:00
Jeremy Soller
24aa9192cb
pcid: Fix extra newlines in log
2020-07-15 22:23:34 -06:00
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