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
4lDO2
6b005a02f4
Make most of the scheme work, except for deletion.
2020-04-04 10:26:43 +02:00
4lDO2
931aa86ba8
Support some path operations.
2020-04-01 17:14:23 +02: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
4lDO2
4b83d5834e
Implement most of the scheme.
2020-03-29 21:42:32 +02:00
4lDO2
4736a52639
Initial commit.
2020-03-29 11:22:21 +02: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
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
ae76f57162
Prepare for orbital communication.
2020-02-09 11:12:18 +01:00
4lDO2
1013daf606
IT WORKS!
2020-02-08 17:18:09 +01:00
Jeremy Soller
e0ca9648ea
Merge branch 'bugfix/fix-unnamed-sockets' into 'master'
...
Fix unnamed sockets
See merge request redox-os/ipcd!3
2020-02-08 14:01:03 +00:00
4lDO2
3fd4bc4b3b
Add functions for the HID-specific requests.
2020-02-08 12:28:17 +01:00
Tiago Lam
ea4247c0b5
chan: Support turning unnamed into named sockets.
...
Previous approach, reverted in commit c7cf2ca , would break unnamed
sockets - since it assumed there would always be an interim step were
one would first name an unnamed socket, before "listen" / "connect".
Instead of using the same approach as the "tcp:" scheme in Redox's
netstack, which requires an extra mapping of temporary unnamed sockets,
handle the different use cases in dup(). Thus, if a "buf" is provided
that's not a "connect" or "listen", it must be a new path for turning
the unnamed socket into a named socket and should be handled as such.
2020-02-08 10:29:52 +00:00
Tiago Lam
73570b0926
Revert "chan: Support opening "empty" ChanScheme."
...
This reverts commit 9526ffa80f .
2020-02-08 10:24:57 +00: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
Jeremy Soller
c7cf2ca0e0
Merge branch 'feature/support-af-unix-sockets' into 'master'
...
Support AF_UNIX sockets
See merge request redox-os/ipcd!2
2020-02-07 02:18:48 +00:00
4lDO2
1b74f335b0
Add a driver interface accessible to class drivers.
2020-02-06 21:45:44 +01:00
Tiago Lam
fad13404d5
chan: Keep path in for new Handle.
...
While supporting AF_UNIX, once an accept() is called in relibc, in turn,
a dup() is also called with "listen". While processing this ipcd
effectively creates a new handler, losing track of the path of the
previous handler.
However, it is important to keep this path in the newly created Handler
as well, so the socket can be queried later by relibc (when calling
fpath()) and fill in appropriately its sockaddr_un struct.
2020-02-06 08:27:47 +00:00