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
Jeremy Soller
55645674d3
Merge branch 'msi' into 'master'
...
Greatly improve xhcid by using real MSI-X irqs.
See merge request redox-os/drivers!59
2020-04-19 15:32:02 +00:00
4lDO2
da188109d4
Change the default log level to debug.
2020-04-19 17:11:08 +02:00
4lDO2
81afdb2750
Remove two todo comments.
2020-04-19 14:45:46 +02:00
4lDO2
57bde84edb
usbscsid works again, AFAICT.
2020-04-19 14:45:46 +02:00
4lDO2
0e802e2085
Fix two deadlocks.
2020-04-19 14:45:46 +02:00
4lDO2
f4398854fc
Add trace debug printlns for opening handles.
2020-04-19 14:45:46 +02:00
4lDO2
74c77412bf
Replace all calls to [e]println with log macros.
2020-04-19 14:45:46 +02:00
4lDO2
80d3affa1c
Enable xhci logging, powered by redox-log.
2020-04-19 14:45:46 +02:00
4lDO2
ae49a0ba30
Update chashmap version.
2020-04-19 14:45:46 +02:00
4lDO2
08616920d6
Get descriptor fetching working.
2020-04-19 14:45:46 +02:00
4lDO2
f3d2d3e2d1
Fix the IRQ reactor when doing subsequent cmds.
2020-04-19 14:45:46 +02:00
4lDO2
ddf71d48e6
Get the Enable Slot cmd working, asynchronously!
...
This is the first command that actually worked by calling the IRQ
reactor and then getting a response. While this may not be that much on
its own, it means the async/await model actually works in this context.
Now the major problem is getting rid of all the deadlocks, and later
remove block_on(future) in the Scheme impl, and instead go async with
future spawning instead.
2020-04-19 14:45:46 +02:00
4lDO2
e58245b280
Use an event queue in the IRQ reactor.
2020-04-19 14:45:46 +02:00
4lDO2
9e34ed3fbf
It compiles!
2020-04-19 14:45:46 +02:00
4lDO2
078a929bfc
Fix borrow checker errors, except SchemeMut::handle.
2020-04-19 14:45:46 +02:00
4lDO2
6791429cd2
Fix most high-level errors in xhcid.
2020-04-19 14:45:46 +02:00
4lDO2
bae238bbef
Asyncify Xhci::execute_transfer.
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
bd860de51e
Temporarily disable qemu mouse integration
2020-04-18 11:24:05 -06:00
Jeremy Soller
a24b73efcf
nvmed: Simplify init logging
2020-03-29 19:56:37 -06:00
Jeremy Soller
2cac3cb752
nvmed: Fix partition offset check
2020-03-29 19:26:13 -06:00
Jeremy Soller
a01f1c4c80
nvmed: fix block size conversion
2020-03-28 13:53:42 -06:00
Jeremy Soller
4fd8664deb
pcid: Skip empty buses and devices
2020-03-28 13:35:50 -06:00
Jeremy Soller
3dbf9ad3e7
Comment out XHCI interrupt message
2020-03-11 11:58:52 -06:00
Jeremy Soller
f00a049439
Enable ahcid interrupts
2020-02-22 20:10:43 -07:00
Jeremy Soller
c1b4292675
Improve ahcid interrupt handling
2020-02-22 19:46:28 -07:00
Jeremy Soller
fc8cbe847b
Merge branch 'usb' into 'master'
...
Add a fully functioning USB SCSI block device driver.
See merge request redox-os/drivers!58
2020-02-21 17:13:39 +00:00
4lDO2
3203a33498
REDOXFS WORKS (read-only) ON USB!
2020-02-21 16:45:35 +01:00
4lDO2
4072d5d282
Implement READ CAPACITY 10.
...
This allows the block count and block size to be determined when no
block descriptors in the mode sense data are returned.
2020-02-18 19:18:20 +01:00
4lDO2
fab13d6404
Fix get_mode_sense10 and some bbb error handling.
2020-02-16 21:27:41 +01:00
4lDO2
3c9527206f
Add basic SCSI error handling.
2020-02-15 23:54:23 +01:00
4lDO2
4d14310e2d
Rustfmt.
2020-02-15 09:56:32 +01:00
4lDO2
20e5c02391
Use correct ioc and chain bits when creating trbs.
2020-02-15 09:55:36 +01:00
4lDO2
bd0892e45d
Make the usb scsi scheme able to do block I/O.
2020-02-15 00:26:19 +01:00
4lDO2
d44296dec9
Almost successfully read blocks using SCSI.
2020-02-14 18:38:24 +01:00
4lDO2
034e6bce70
Set up a basic SCSI scheme, and get disk size.
...
Some commands are unused though, and probably won't be used, for example
ReportSuppOpcodes. Also, there appears to be lots of different versions
of the SCSI specification.
2020-02-14 00:02:13 +01:00
4lDO2
9d88528188
Make SCSI commands working.
2020-02-12 23:17:50 +01:00
4lDO2
73ca576558
Use the real DCIs instead of driver-level numbers.
...
Sidenote: instead of STALLing because the driver didn't configure the
endpoints properly, regular transfers now work. Thus, QEMU was able to
recognize that it received a Bulk-Only Transport CBW. Yay!
Additionally, to make life easier when debugging, usbctl was added; now
it can get endpoint statuses which were previously non-accessible from
shell scripts, after the transition to the new ctl+data endpoint
interface.
2020-02-12 22:07:37 +01:00
4lDO2
56541efd13
Use correct endpoint indices.
2020-02-12 15:10:01 +01:00
4lDO2
1a7625c0bc
Allow stalled endpoints to be reset.
2020-02-12 13:46:28 +01:00
4lDO2
dd9124eb82
Simplify the endpoint interface.
2020-02-11 23:07:20 +01:00
4lDO2
127ef077c2
Select correct max packet sizes during init.
2020-02-11 12:54:34 +01:00