From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <836acde3b92a3051ec317b5281c1d047@terzarima.net> To: 9fans@cse.psu.edu Subject: RE: [9fans] ndis-ulator for plan 9 From: Charles Forsyth Date: Thu, 22 Sep 2005 14:50:00 +0100 In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Topicbox-Message-UUID: 8edd1e4c-ead0-11e9-9d60-3106f5b1d025 > EHCI is an extension to UHCI to enable a much greater degree of buffering it's an incompatible extension since asynchronous requests are no longer put in the frame list but go on a separate queue elsewhere, and the descriptors are different; it retains many of the annoying features though! there are extra descriptors to handle the micro-frame intervals that give the extra speed, and split transactions with the hubs. the bizarre thing is that the EHCI controller handles only the high-speed devices, not low-speed or full-speed ones (note that `full speed' is not `high speed'). you need a `companion controller' for the low-/full-speed devices, and that controller can be either OHCI or UHCI. of course, that requires special hardware to route devices to one controller or another per root port, and new software to manage the distribution of work between them. of course, the implemenation can choose from two possible routing schemes. there is an (optional) `light' reset (distinguished from the usual `soft' reset). such fun!