Commit Graph

65 Commits

Author SHA1 Message Date
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
4lDO2 295aa02e5d Support reading the slot state. 2020-02-01 18:20:24 +01:00
4lDO2 cbd9d83b69 SUPPORT CONFIGURE_ENDPOINTS! 2020-02-01 15:05:14 +01:00
4lDO2 93d99c4f4f Add a skeleton for endpoint enabling (in the driver API). 2020-02-01 15:04:56 +01:00
4lDO2 dd4dd952d0 Improve (subjective...) the descriptor fetching. 2020-01-19 11:37:05 +11:00
4lDO2 8b375518d9 Fix the descriptor parsing by somewhat. 2020-01-19 11:37:05 +11:00
4lDO2 faa29b1854 Add a really basic interface to xhcid. 2020-01-19 11:37:05 +11:00
Jeremy Soller 283ff736c6 Make separate config for xhcid 2019-09-11 20:09:13 -06: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 50652ceb93 Temporary patches for Redox with unix target family 2019-04-23 13:25:41 -06:00
Jeremy Soller 7afaadabd9 Ensure that MMIO memory is mapped without caching 2019-04-08 20:22:01 -06:00
Jeremy Soller c47c68f44c Update fmap support 2018-12-28 16:19:09 -07:00
jD91mZM2 c6b1dea60d Fix compilation
There was a version mismatch because of outdated redox_event and some issues with the Cargo.lock that `cargo update` fixed
2018-06-13 07:20:05 +02:00
Jeremy Soller bd8a377c78 Use capability mode (null namespace) for drivers 2017-10-09 20:36:16 -06:00
Jeremy Soller 649f1c8b20 Remove debugging of ring 2017-08-06 17:19:07 -06:00
Jeremy Soller 87342d6fce Improve ring state machine 2017-08-06 17:16:07 -06:00
Jeremy Soller 14d8165079 Cleanup xhci, add basic IRQ event functions, cleanup e1000d and rtl8168d 2017-08-06 15:19:56 -06:00
Jeremy Soller 0231e44892 Print out more values 2017-08-06 08:20:31 -06:00
Jeremy Soller d15635e242 Do not shut down after running 2017-08-06 08:09:11 -06:00
Jeremy Soller 144cc2a995 Prettier format of debug data 2017-08-05 21:07:08 -06:00
Jeremy Soller 096a9a6e52 Read device, config, interface, and endpoint descriptions 2017-08-05 20:17:28 -06:00