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
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
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
4lDO2
6b70e80d20
Add (untested) transfer support.
2020-02-09 17:17:36 +01:00
4lDO2
1013daf606
IT WORKS!
2020-02-08 17:18:09 +01:00
4lDO2
3fd4bc4b3b
Add functions for the HID-specific requests.
2020-02-08 12:28:17 +01:00
4lDO2
53ddfbb88e
Fix the HID report descriptor parsing.
2020-02-08 11:05:29 +01:00
4lDO2
b308dad7c6
Add a basic HID driver unable to parse report descs.
...
Custom device requests are now implemented though.
2020-02-08 10:21:21 +01:00
4lDO2
1b74f335b0
Add a driver interface accessible to class drivers.
2020-02-06 21:45:44 +01:00
4lDO2
ae0d43c12a
Add a framework-ish for USB drivers.
2020-02-03 21:48:35 +01:00
4lDO2
8c158328a3
Add class and vendor device reqs to the API.
2020-02-02 11:31:13 +01:00
4lDO2
d4f1480d1b
Add some basic HID descriptor handling.
2020-02-02 10:00:09 +01:00
4lDO2
d66b0c5bd8
Fix the state virtual file.
2020-02-01 23:28:19 +01:00
4lDO2
c4a393e296
Correctly index the dev ctx arr for slot states.
2020-02-01 22:02:20 +01:00