![]() xHCI provides a somewhat convoluted mechanism for specifying details of a transaction translator. Hubs must be marked as such in the device slot context. The only opportunity to do so is as part of a Configure Endpoint command, which can be executed only when opening the hub's interrupt endpoint. We add a mechanism for host controllers to intercept the opening of hub devices, providing xHCI with an opportunity to update the internal device slot structure for the corresponding USB device to indicate that the device is a hub. We then include the hub-specific details in the input context whenever any Configure Endpoint command is issued. When a device is opened, we record the device slot and port for its transaction translator (if any), and supply these as part of the Address Device command. Signed-off-by: Michael Brown <mcb30@ipxe.org> |
||
---|---|---|
.. | ||
hci | ||
ipxe | ||
readline | ||
sys | ||
usr | ||
valgrind | ||
xen | ||
alloca.h | ||
assert.h | ||
byteswap.h | ||
coff.h | ||
compiler.h | ||
cpu.h | ||
ctype.h | ||
curses.h | ||
elf.h | ||
endian.h | ||
errno.h | ||
etherboot.h | ||
fs.h | ||
getopt.h | ||
i82365.h | ||
libgen.h | ||
linux_api.h | ||
mii.h | ||
nic.h | ||
old_tcp.h | ||
pc_kbd.h | ||
pcmcia-opts.h | ||
pcmcia.h | ||
stdarg.h | ||
stddef.h | ||
stdint.h | ||
stdio.h | ||
stdlib.h | ||
string.h | ||
strings.h | ||
sys_info.h | ||
syslog.h | ||
time.h | ||
unistd.h | ||
wchar.h |