Jeremy Soller
be101621cc
Update to newer syscall
2020-08-02 15:25:03 -06:00
4lDO2
6bd4bb814f
Support xHCs that only support 32-bit physical addresses.
2020-06-18 19:17:20 +00:00
4lDO2
07b1fe79fa
Cleanup, and remove trace log writes for nvmed.
2020-05-03 16:33:56 +02:00
4lDO2
3558397859
ASYNC COMMAND SUBMISSION WORKS (partially).
2020-05-03 15:47:09 +02:00
4lDO2
6c2f103841
WIP: Complete the NVME CQ reactor (doesn't compile yet)
2020-04-29 19:35:48 +02:00
4lDO2
7b69d5b9b5
WIP: Use the enhanced pcid IPC.
2020-04-22 21:21:55 +02:00
4lDO2
fe95c942ac
Add pcid logging.
2020-04-22 18:27:43 +02:00
4lDO2
aea6e1b84c
Improve xhcid logging.
2020-04-22 18:09:56 +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
da188109d4
Change the default log level to debug.
2020-04-19 17:11:08 +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
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
7536048ceb
Parse some of the PCI capabilities, and setup IPC.
2020-04-19 14:45:46 +02:00
Jeremy Soller
3dbf9ad3e7
Comment out XHCI interrupt message
2020-03-11 11:58:52 -06:00
4lDO2
3203a33498
REDOXFS WORKS (read-only) ON USB!
2020-02-21 16:45:35 +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
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
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
4lDO2
05392696fe
Use more correct params in configure_endpoint.
...
Most importantly in the endpoint contexts of the input context,
specifying the properties of the endpoints that are being configured.
2020-02-11 11:39:29 +01:00
4lDO2
d82ae0a5f6
Add periodic (driver interface-level) transfers.
2020-02-10 23:12:11 +01:00
4lDO2
d64cb02986
Allow (untested) usb device requests to send data.
2020-02-10 18:55:09 +01:00
4lDO2
e052c5968d
Support detecting USB port speeds.
2020-02-10 16:23:19 +01:00
4lDO2
cff3cf0d28
Add basic logic to usbscsid and support alternate interface.
2020-02-10 11:23:18 +01:00
4lDO2
62915fadb1
Implement stream transfers.
...
They only use one stream though, which defeats the purpose of streams,
but at least transfers now work.
2020-02-09 22:35:56 +01:00