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>tags/v1.20.1
|
|
||
| 1692 |
|
1692 |
|
| 1693 |
|
1693 |
|
| 1694 |
|
1694 |
|
|
1695 |
|
|
| 1695 |
|
1696 |
|
| 1696 |
|
1697 |
|
| 1697 |
|
1698 |
|
|
|
||
| 1721 |
|
1722 |
|
| 1722 |
|
1723 |
|
| 1723 |
|
1724 |
|
| 1724 |
|
|
|
|
1725 |
|
|
|
1726 |
|
|
|
1727 |
|
|
|
1728 |
|
|
|
1729 |
|
|
|
1730 |
|
|
|
1731 |
|
|
|
1732 |
|
|
| 1725 |
|
1733 |
|
| 1726 |
|
1734 |
|
| 1727 |
|
1735 |
|
| 1728 |
|
|
|
|
1736 |
|
|
| 1729 |
|
1737 |
|
| 1730 |
|
1738 |
|
| 1731 |
|
1739 |
|
|
|
||
| 1747 |
|
1755 |
|
| 1748 |
|
1756 |
|
| 1749 |
|
1757 |
|
| 1750 |
|
|
|
|
1758 |
|
|
|
1759 |
|
|
|
1760 |
|
|
| 1751 |
|
1761 |
|
| 1752 |
|
1762 |
|
| 1753 |
|
1763 |
|
|
|
||
| 1768 |
|
1778 |
|
| 1769 |
|
1779 |
|
| 1770 |
|
1780 |
|
| 1771 |
|
|
|
|
1781 |
|
|
| 1772 |
|
1782 |
|
| 1773 |
|
1783 |
|
|
1784 |
|
|
|
1785 |
|
|
|
1786 |
|
|
| 1774 |
|
1787 |
|
| 1775 |
|
1788 |
|
| 1776 |
|
1789 |
|
|
|
||
| 1839 |
|
1852 |
|
| 1840 |
|
1853 |
|
| 1841 |
|
1854 |
|
| 1842 |
|
|
|
|
1855 |
|
|
| 1843 |
|
1856 |
|
| 1844 |
|
1857 |
|
| 1845 |
|
1858 |
|
|
|
||
| 1330 |
|
1330 |
|
| 1331 |
|
1331 |
|
| 1332 |
|
1332 |
|
|
1333 |
|
|
|
1334 |
|
|
|
1335 |
|
|
|
1336 |
|
|
|
1337 |
|
|
|
1338 |
|
|
|
1339 |
|
|
|
1340 |
|
|
|
1341 |
|
|
|
1342 |
|
|
|
1343 |
|
|
|
1344 |
|
|
|
1345 |
|
|
|
1346 |
|
|
|
1347 |
|
|
|
1348 |
|
|
|
1349 |
|
|
|
1350 |
|
|
|
1351 |
|
|
|
1352 |
|
|
|
1353 |
|
|
|
1354 |
|
|
|
1355 |
|
|
|
1356 |
|
|
|
1357 |
|
|
|
1358 |
|
|
|
1359 |
|
|
|
1360 |
|
|
|
1361 |
|
|
| 1333 |
|
1362 |
|
| 1334 |
|
1363 |
|
| 1335 |
|
1364 |
|
|
|
||
| 1343 |
|
1372 |
|
| 1344 |
|
1373 |
|
| 1345 |
|
1374 |
|
| 1346 |
|
|
|
|
1375 |
|
|
| 1347 |
|
1376 |
|
| 1348 |
|
1377 |
|
| 1349 |
|
1378 |
|
|
|
||
| 1374 |
|
1403 |
|
| 1375 |
|
1404 |
|
| 1376 |
|
1405 |
|
| 1377 |
|
|
|
|
1406 |
|
|
| 1378 |
|
1407 |
|
| 1379 |
|
1408 |
|
| 1380 |
|
1409 |
|
|
|
||
| 1391 |
|
1420 |
|
| 1392 |
|
1421 |
|
| 1393 |
|
1422 |
|
| 1394 |
|
|
|
|
1423 |
|
|
| 1395 |
|
1424 |
|
| 1396 |
|
1425 |
|
| 1397 |
|
1426 |
|
|
|
||
| 1449 |
|
1478 |
|
| 1450 |
|
1479 |
|
| 1451 |
|
1480 |
|
| 1452 |
|
|
|
|
1481 |
|
|
| 1453 |
|
1482 |
|
| 1454 |
|
1483 |
|
| 1455 |
|
1484 |
|
|
|
||
| 1468 |
|
1497 |
|
| 1469 |
|
1498 |
|
| 1470 |
|
1499 |
|
| 1471 |
|
|
|
|
1500 |
|
|
| 1472 |
|
1501 |
|
| 1473 |
|
1502 |
|
| 1474 |
|
1503 |
|
|
|
||
| 1512 |
|
1541 |
|
| 1513 |
|
1542 |
|
| 1514 |
|
1543 |
|
| 1515 |
|
|
|
| 1516 |
|
|
|
|
1544 |
|
|
|
1545 |
|
|
| 1517 |
|
1546 |
|
| 1518 |
|
1547 |
|
| 1519 |
|
1548 |
|
|
|
||
| 1529 |
|
1558 |
|
| 1530 |
|
1559 |
|
| 1531 |
|
1560 |
|
| 1532 |
|
|
|
|
1561 |
|
|
| 1533 |
|
1562 |
|
| 1534 |
|
1563 |
|
| 1535 |
|
1564 |
|
|
|
||
| 1692 |
|
1721 |
|
| 1693 |
|
1722 |
|
| 1694 |
|
1723 |
|
| 1695 |
|
|
|
|
1724 |
|
|
| 1696 |
|
1725 |
|
| 1697 |
|
1726 |
|
| 1698 |
|
1727 |
|
|
|
||
| 1730 |
|
1759 |
|
| 1731 |
|
1760 |
|
| 1732 |
|
1761 |
|
| 1733 |
|
|
|
| 1734 |
|
|
|
| 1735 |
|
|
|
| 1736 |
|
|
|
|
1762 |
|
|
|
1763 |
|
|
|
1764 |
|
|
|
1765 |
|
|
|
1766 |
|
|
|
1767 |
|
|
|
1768 |
|
|
|
1769 |
|
|
| 1737 |
|
1770 |
|
| 1738 |
|
1771 |
|
| 1739 |
|
1772 |
|
|
|
||
| 1990 |
|
1990 |
|
| 1991 |
|
1991 |
|
| 1992 |
|
1992 |
|
|
1993 |
|
|
|
1994 |
|
|
| 1993 |
|
1995 |
|
| 1994 |
|
1996 |
|
| 1995 |
|
1997 |
|
|
|
||
| 2039 |
|
2041 |
|
| 2040 |
|
2042 |
|
| 2041 |
|
2043 |
|
| 2042 |
|
|
|
|
2044 |
|
|
| 2043 |
|
2045 |
|
| 2044 |
|
2046 |
|
| 2045 |
|
2047 |
|
|
|
||
| 2054 |
|
2056 |
|
| 2055 |
|
2057 |
|
| 2056 |
|
2058 |
|
| 2057 |
|
|
|
|
2059 |
|
|
|
2060 |
|
|
|
2061 |
|
|
| 2058 |
|
2062 |
|
| 2059 |
|
2063 |
|
| 2060 |
|
2064 |
|
|
|
||
| 2587 |
|
2591 |
|
| 2588 |
|
2592 |
|
| 2589 |
|
2593 |
|
|
2594 |
|
|
| 2590 |
|
2595 |
|
|
2596 |
|
|
| 2591 |
|
2597 |
|
| 2592 |
|
2598 |
|
| 2593 |
|
2599 |
|
|
|
||
| 2621 |
|
2627 |
|
| 2622 |
|
2628 |
|
| 2623 |
|
2629 |
|
|
2630 |
|
|
|
2631 |
|
|
|
2632 |
|
|
|
2633 |
|
|
|
2634 |
|
|
| 2624 |
|
2635 |
|
| 2625 |
|
2636 |
|
| 2626 |
|
2637 |
|
|
|
||
| 2817 |
|
2828 |
|
| 2818 |
|
2829 |
|
| 2819 |
|
2830 |
|
|
2831 |
|
|
|
2832 |
|
|
|
2833 |
|
|
|
2834 |
|
|
|
2835 |
|
|
|
2836 |
|
|
|
2837 |
|
|
|
2838 |
|
|
|
2839 |
|
|
|
2840 |
|
|
|
2841 |
|
|
|
2842 |
|
|
|
2843 |
|
|
|
2844 |
|
|
|
2845 |
|
|
|
2846 |
|
|
|
2847 |
|
|
|
2848 |
|
|
|
2849 |
|
|
|
2850 |
|
|
|
2851 |
|
|
|
2852 |
|
|
|
2853 |
|
|
|
2854 |
|
|
|
2855 |
|
|
|
2856 |
|
|
|
2857 |
|
|
|
2858 |
|
|
|
2859 |
|
|
|
2860 |
|
|
|
2861 |
|
|
|
2862 |
|
|
|
2863 |
|
|
|
2864 |
|
|
|
2865 |
|
|
|
2866 |
|
|
|
2867 |
|
|
|
2868 |
|
|
|
2869 |
|
|
|
2870 |
|
|
|
2871 |
|
|
|
2872 |
|
|
|
2873 |
|
|
|
2874 |
|
|
|
2875 |
|
|
| 2820 |
|
2876 |
|
| 2821 |
|
2877 |
|
| 2822 |
|
2878 |
|
|
|
||
| 2830 |
|
2886 |
|
| 2831 |
|
2887 |
|
| 2832 |
|
2888 |
|
| 2833 |
|
|
|
|
2889 |
|
|
| 2834 |
|
2890 |
|
| 2835 |
|
2891 |
|
| 2836 |
|
2892 |
|
|
|
||
| 2880 |
|
2936 |
|
| 2881 |
|
2937 |
|
| 2882 |
|
2938 |
|
| 2883 |
|
|
|
|
2939 |
|
|
| 2884 |
|
2940 |
|
| 2885 |
|
2941 |
|
| 2886 |
|
2942 |
|
|
|
||
| 2893 |
|
2949 |
|
| 2894 |
|
2950 |
|
| 2895 |
|
2951 |
|
| 2896 |
|
|
|
|
2952 |
|
|
| 2897 |
|
2953 |
|
| 2898 |
|
2954 |
|
| 2899 |
|
2955 |
|
|
|
||
| 2930 |
|
2986 |
|
| 2931 |
|
2987 |
|
| 2932 |
|
2988 |
|
| 2933 |
|
|
|
|
2989 |
|
|
| 2934 |
|
2990 |
|
| 2935 |
|
2991 |
|
| 2936 |
|
2992 |
|
|
|
||
| 2950 |
|
3006 |
|
| 2951 |
|
3007 |
|
| 2952 |
|
3008 |
|
| 2953 |
|
|
|
|
3009 |
|
|
| 2954 |
|
3010 |
|
| 2955 |
|
3011 |
|
| 2956 |
|
3012 |
|
|
|
||
| 3000 |
|
3056 |
|
| 3001 |
|
3057 |
|
| 3002 |
|
3058 |
|
| 3003 |
|
|
|
| 3004 |
|
|
|
|
3059 |
|
|
|
3060 |
|
|
| 3005 |
|
3061 |
|
| 3006 |
|
3062 |
|
| 3007 |
|
3063 |
|
|
|
||
| 3041 |
|
3097 |
|
| 3042 |
|
3098 |
|
| 3043 |
|
3099 |
|
| 3044 |
|
|
|
| 3045 |
|
|
|
| 3046 |
|
|
|
| 3047 |
|
|
|
|
3100 |
|
|
|
3101 |
|
|
|
3102 |
|
|
|
3103 |
|
|
|
3104 |
|
|
|
3105 |
|
|
|
3106 |
|
|
|
3107 |
|
|
| 3048 |
|
3108 |
|
| 3049 |
|
3109 |
|
| 3050 |
|
3110 |
|
|
|
||
| 1110 |
|
1110 |
|
| 1111 |
|
1111 |
|
| 1112 |
|
1112 |
|
|
1113 |
|
|
|
1114 |
|
|
|
1115 |
|
|
|
1116 |
|
|
|
1117 |
|
|
|
1118 |
|
|
| 1113 |
|
1119 |
|
| 1114 |
|
1120 |
|
| 1115 |
|
1121 |
|
|
|
||
| 777 |
|
777 |
|
| 778 |
|
778 |
|
| 779 |
|
779 |
|
|
780 |
|
|
|
781 |
|
|
| 780 |
|
782 |
|
| 781 |
|
783 |
|
| 782 |
|
784 |
|
|
|
||
| 789 |
|
791 |
|
| 790 |
|
792 |
|
| 791 |
|
793 |
|
| 792 |
|
|
|
|
794 |
|
|
|
795 |
|
|
|
796 |
|
|
|
797 |
|
|
|
798 |
|
|
|
799 |
|
|
|
800 |
|
|
|
801 |
|
|
|
802 |
|
|
|
803 |
|
|
|
804 |
|
|
|
805 |
|
|
|
806 |
|
|
|
807 |
|
|
|
808 |
|
|
|
809 |
|
|
| 793 |
|
810 |
|
| 794 |
|
811 |
|
| 795 |
|
812 |
|
|
|
||
| 940 |
|
957 |
|
| 941 |
|
958 |
|
| 942 |
|
959 |
|
|
960 |
|
|
|
961 |
|
|
| 943 |
|
962 |
|
| 944 |
|
|
|
|
963 |
|
|
| 945 |
|
964 |
|
| 946 |
|
965 |
|
| 947 |
|
966 |
|