Let's recycle this thread.
The following output is produced while booting all 10 (rebased) commits from https://github.com/KevinOConnor/seabios/commits/xhci-testing:
init usb XHCI init on dev 00:10.0: regs @ 0xf0148000, 4 ports, 32 slots, 32 byte contexts XHCI extcap 0x1 @ f0148500 XHCI protocol USB 3.00, 2 ports (offset 1), def 0 XHCI protocol USB 2.00, 2 ports (offset 3), def 0 configure_xhci: resetting xhci_hub_detect port #1: 0x000002a0, powered, pls 5, speed 0 [ - ] xhci_hub_detect port #2: 0x000002a0, powered, pls 5, speed 0 [ - ] xhci_hub_detect port #3: 0x000202e1, powered, pls 7, speed 0 [ - ] xhci_hub_reset port #3: 0x000202e1, powered, pls 7, speed 0 [ - ] XHCI port #3: 0x00200a03, powered, enabled, pls 0, speed 2 [Low] set_address 0x000edfe0 xhci_alloc_pipe: usbdev 0xbf1025e0, ring 0xbf11eb00, slotid 0, epid 1 xhci_cmd_enable_slot: xhci_trb_queue: ring 0xbf11ed00 [nidx 1, len 0] xhci_process_events: status change port #3 xhci_process_events: status change port #3 xhci_process_events: ring 0xbf11ed00 [trb 0xbf11ed00, evt 0xbf11ee00, type 33, eidx 1, cc 1] xhci_alloc_pipe: enable slot: got slotid 1 xhci_cmd_address_device: slotid 1 xhci_trb_queue: ring 0xbf11ed00 [nidx 2, len 0] xhci_process_events: ring 0xbf11ed00 [trb 0xbf11ed10, evt 0xbf11ee00, type 33, eidx 2, cc 1] xhci_update_pipe: usbdev 0xbf1025e0, ring 0xbf11eb00, slotid 1, epid 1 config_usb: 0xbf11ec20 xhci_trb_queue: ring 0xbf11eb00 [nidx 1, len 8] xhci_trb_queue: ring 0xbf11eb00 [nidx 2, len 8] xhci_trb_queue: ring 0xbf11eb00 [nidx 3, len 0] xhci_xfer_kick: ring 0xbf11eb00, slotid 1, epid 1 xhci_process_events: ring 0xbf11eb00 [trb 0xbf11eb20, evt 0xbf11ec00, type 32, eidx 3, cc 1] device rev=0110 cls=00 sub=00 proto=00 size=08 xhci_update_pipe: usbdev 0xbf1025e0, ring 0xbf11eb00, slotid 1, epid 1 xhci_trb_queue: ring 0xbf11eb00 [nidx 4, len 8] xhci_trb_queue: ring 0xbf11eb00 [nidx 5, len 9] xhci_trb_queue: ring 0xbf11eb00 [nidx 6, len 0] xhci_xfer_kick: ring 0xbf11eb00, slotid 1, epid 1 xhci_process_events: ring 0xbf11eb00 [trb 0xbf11eb50, evt 0xbf11ec00, type 32, eidx 6, cc 1] xhci_trb_queue: ring 0xbf11eb00 [nidx 7, len 8] xhci_trb_queue: ring 0xbf11eb00 [nidx 8, len 59] xhci_trb_queue: ring 0xbf11eb00 [nidx 9, len 0] xhci_xfer_kick: ring 0xbf11eb00, slotid 1, epid 1 xhci_process_events: ring 0xbf11eb00 [trb 0xbf11eb80, evt 0xbf11ec00, type 32, eidx 9, cc 1] xhci_trb_queue: ring 0xbf11eb00 [nidx 10, len 8] xhci_trb_queue: ring 0xbf11eb00 [nidx 11, len 0] xhci_xfer_kick: ring 0xbf11eb00, slotid 1, epid 1 xhci_process_events: ring 0xbf11eb00 [trb 0xbf11eba0, evt 0xbf11ec00, type 32, eidx 11, cc 1] usb_hid_setup 0xbf11ec20 xhci_trb_queue: ring 0xbf11eb00 [nidx 12, len 8] xhci_trb_queue: ring 0xbf11eb00 [nidx 13, len 0] xhci_xfer_kick: ring 0xbf11eb00, slotid 1, epid 1 xhci_process_events: ring 0xbf11eb00 [trb 0xbf11ebc0, evt 0xbf11ec00, type 32, eidx 13, cc 1] xhci_trb_queue: ring 0xbf11eb00 [nidx 14, len 8] xhci_trb_queue: ring 0xbf11eb00 [nidx 15, len 0] xhci_xfer_kick: ring 0xbf11eb00, slotid 1, epid 1 xhci_process_events: ring 0xbf11eb00 [trb 0xbf11ebe0, evt 0xbf11ec00, type 32, eidx 15, cc 1] xhci_alloc_pipe: usbdev 0xbf1025e0, ring 0x000edc00, slotid 0, epid 3 binterval=10 maxp=8 i0=00000009 i1=00000000 s0=f8200000 s1=00030000 s2=00000000 s3=00000000 e0=00060000 e1=00080038 e5=0 0000008 cur s0=08200000 s1=00030000 s2=00000000 s3=10000001 e0=00000000 e1=00000000 e5=00000000 xhci_cmd_configure_endpoint: slotid 1, add 0x9, del 0x0 xhci_trb_queue: ring 0xbf11ed00 [nidx 3, len 0] xhci_process_events: ring 0xbf11ed00 [trb 0xbf11ed20, evt 0xbf11ee00, type 33, eidx 3, cc 1] USB keyboard initialized xhci_hub_detect port #4: 0x000002a0, powered, pls 5, speed 0 [ - ] XHCI init on dev 00:10.1: regs @ 0xf014a000, 4 ports, 32 slots, 32 byte contexts XHCI extcap 0x1 @ f014a500 XHCI protocol USB 3.00, 2 ports (offset 1), def 0 XHCI protocol USB 2.00, 2 ports (offset 3), def 0 configure_xhci: resetting xhci_hub_detect port #1: 0x000002a0, powered, pls 5, speed 0 [ - ] xhci_hub_detect port #2: 0x000002a0, powered, pls 5, speed 0 [ - ] xhci_hub_detect port #3: 0x000002a0, powered, pls 5, speed 0 [ - ] xhci_hub_detect port #4: 0x000202e1, powered, pls 7, speed 0 [ - ] xhci_hub_reset port #4: 0x000202e1, powered, pls 7, speed 0 [ - ] XHCI port #4: 0x00200e03, powered, enabled, pls 0, speed 3 [High] set_address 0x000edf60 xhci_alloc_pipe: usbdev 0xbf1025e0, ring 0xbf11e200, slotid 0, epid 1 xhci_cmd_enable_slot: xhci_trb_queue: ring 0xbf11e800 [nidx 1, len 0] xhci_process_events: status change port #4 xhci_process_events: status change port #4 xhci_process_events: ring 0xbf11e800 [trb 0xbf11e800, evt 0xbf11e900, type 33, eidx 1, cc 1] xhci_alloc_pipe: enable slot: got slotid 1 xhci_cmd_address_device: slotid 1 xhci_trb_queue: ring 0xbf11e800 [nidx 2, len 0] xhci_process_events: ring 0xbf11e800 [trb 0xbf11e810, evt 0xbf11e900, type 33, eidx 2, cc 1] xhci_update_pipe: usbdev 0xbf1025e0, ring 0xbf11e200, slotid 1, epid 1 config_usb: 0xbf11e320 xhci_trb_queue: ring 0xbf11e200 [nidx 1, len 8] xhci_trb_queue: ring 0xbf11e200 [nidx 2, len 8] xhci_trb_queue: ring 0xbf11e200 [nidx 3, len 0] xhci_xfer_kick: ring 0xbf11e200, slotid 1, epid 1 xhci_process_events: ring 0xbf11e200 [trb 0xbf11e220, evt 0xbf11e300, type 32, eidx 3, cc 1] device rev=0200 cls=00 sub=00 proto=00 size=40 xhci_update_pipe: usbdev 0xbf1025e0, ring 0xbf11e200, slotid 1, epid 1 xhci_update_pipe: reconf ctl endpoint pkt size: 8 -> 64 xhci_cmd_evaluate_context: slotid 1, add 0x2, del 0x0 xhci_trb_queue: ring 0xbf11e800 [nidx 3, len 0] xhci_process_events: ring 0xbf11e800 [trb 0xbf11e820, evt 0xbf11e900, type 33, eidx 3, cc 1] xhci_trb_queue: ring 0xbf11e200 [nidx 4, len 8] xhci_trb_queue: ring 0xbf11e200 [nidx 5, len 9] xhci_trb_queue: ring 0xbf11e200 [nidx 6, len 0] xhci_xfer_kick: ring 0xbf11e200, slotid 1, epid 1 xhci_process_events: ring 0xbf11e200 [trb 0xbf11e250, evt 0xbf11e300, type 32, eidx 6, cc 1] xhci_trb_queue: ring 0xbf11e200 [nidx 7, len 8] xhci_trb_queue: ring 0xbf11e200 [nidx 8, len 32] xhci_trb_queue: ring 0xbf11e200 [nidx 9, len 0] xhci_xfer_kick: ring 0xbf11e200, slotid 1, epid 1 xhci_process_events: ring 0xbf11e200 [trb 0xbf11e280, evt 0xbf11e300, type 32, eidx 9, cc 1] xhci_trb_queue: ring 0xbf11e200 [nidx 10, len 8] xhci_trb_queue: ring 0xbf11e200 [nidx 11, len 0] xhci_xfer_kick: ring 0xbf11e200, slotid 1, epid 1 xhci_process_events: ring 0xbf11e200 [trb 0xbf11e2a0, evt 0xbf11e300, type 32, eidx 11, cc 1] xhci_alloc_pipe: usbdev 0xbf1025e0, ring 0x000ed800, slotid 0, epid 3 binterval=0 maxp=512 i0=00000009 i1=00000000 s0=f8300000 s1=00040000 s2=00000000 s3=00000000 e0=00000000 e1=02000030 e5= 00000200 cur s0=08300000 s1=00040000 s2=00000000 s3=10000001 e0=00000000 e1=00000000 e5=00000000 xhci_cmd_configure_endpoint: slotid 1, add 0x9, del 0x0 xhci_trb_queue: ring 0xbf11e800 [nidx 4, len 0] xhci_process_events: ring 0xbf11e800 [trb 0xbf11e830, evt 0xbf11e900, type 33, eidx 4, cc 1] xhci_alloc_pipe: usbdev 0xbf1025e0, ring 0x000ed600, slotid 0, epid 4 binterval=0 maxp=512 i0=00000011 i1=00000000 s0=f8300000 s1=00040000 s2=00000000 s3=00000000 e0=00000000 e1=02000010 e5= 00000200 cur s0=f8300000 s1=00040000 s2=00000000 s3=18000001 e0=00000000 e1=00000000 e5=00000000 xhci_cmd_configure_endpoint: slotid 1, add 0x11, del 0x0 xhci_trb_queue: ring 0xbf11e800 [nidx 5, len 0] xhci_process_events: ring 0xbf11e800 [trb 0xbf11e840, evt 0xbf11e900, type 33, eidx 5, cc 1] xhci_trb_queue: ring 0xbf11e200 [nidx 12, len 8] xhci_trb_queue: ring 0xbf11e200 [nidx 13, len 1] xhci_trb_queue: ring 0xbf11e200 [nidx 14, len 0] xhci_xfer_kick: ring 0xbf11e200, slotid 1, epid 1 xhci_process_events: ring 0xbf11e200 [trb 0xbf11e2d0, evt 0xbf11e300, type 32, eidx 14, cc 1] Searching bootorder for: /pci@i0cf8/usb@10,1/storage@4/*@0/*@0,0 Searching bootorder for: /pci@i0cf8/usb@10,1/usb-*@4 xhci_trb_queue: ring 0x000ed600 [nidx 1, len 31] xhci_xfer_kick: ring 0x000ed600, slotid 1, epid 4 xhci_process_events: ring 0x000ed600 [trb 0x000ed600, evt 0x000ed700, type 32, eidx 1, cc 1] xhci_trb_queue: ring 0x000ed800 [nidx 1, len 36] xhci_xfer_kick: ring 0x000ed800, slotid 1, epid 3 xhci_process_events: ring 0x000ed800 [trb 0x000ed800, evt 0x000ed900, type 32, eidx 1, cc 1] xhci_trb_queue: ring 0x000ed800 [nidx 2, len 13] xhci_xfer_kick: ring 0x000ed800, slotid 1, epid 3 xhci_process_events: ring 0x000ed800 [trb 0x000ed810, evt 0x000ed900, type 32, eidx 2, cc 1] USB MSC vendor='Kingston' product='DataTraveler 2.0' rev='1.00' type=0 removable=1 scsi_is_ready (drive=0x000f4f00) xhci_trb_queue: ring 0x000ed600 [nidx 2, len 31] xhci_xfer_kick: ring 0x000ed600, slotid 1, epid 4 xhci_process_events: ring 0x000ed600 [trb 0x000ed610, evt 0x000ed700, type 32, eidx 2, cc 1] xhci_trb_queue: ring 0x000ed800 [nidx 3, len 13] xhci_xfer_kick: ring 0x000ed800, slotid 1, epid 3 xhci_process_events: ring 0x000ed800 [trb 0x000ed820, evt 0x000ed900, type 32, eidx 3, cc 1] xhci_trb_queue: ring 0x000ed600 [nidx 3, len 31] xhci_xfer_kick: ring 0x000ed600, slotid 1, epid 4 xhci_process_events: ring 0x000ed600 [trb 0x000ed620, evt 0x000ed700, type 32, eidx 3, cc 1] xhci_trb_queue: ring 0x000ed800 [nidx 4, len 8] xhci_xfer_kick: ring 0x000ed800, slotid 1, epid 3 xhci_process_events: ring 0x000ed800 [trb 0x000ed830, evt 0x000ed900, type 32, eidx 4, cc 1] xhci_trb_queue: ring 0x000ed800 [nidx 5, len 13] xhci_xfer_kick: ring 0x000ed800, slotid 1, epid 3 xhci_process_events: ring 0x000ed800 [trb 0x000ed840, evt 0x000ed900, type 32, eidx 5, cc 1] USB MSC blksize=512 sectors=1994752 Registering bootable: USB MSC Drive Kingston DataTraveler 2.0 1.00 (type:2 prio:103 data:f4f00) EHCI init on dev 00:12.2 (regs=0xf014f820) set_address 0xbf1025e0 ehci_alloc_async_pipe 0xbf1025e0 0 ehci_control 0xbf1020d0 (dir=0 cmd=8 data=0) ehci_alloc_async_pipe 0xbf1025e0 0 config_usb: 0xbf1020d0 ehci_control 0xbf1020d0 (dir=128 cmd=8 data=8) device rev=0200 cls=00 sub=00 proto=00 size=40 ehci_alloc_async_pipe 0xbf1025e0 0 ehci_control 0xbf1020d0 (dir=128 cmd=8 data=9) ehci_control 0xbf1020d0 (dir=128 cmd=8 data=46) ehci_free_pipes 0xbf1025e0 EHCI init on dev 00:13.2 (regs=0xf014f920) ehci_free_pipes 0xbf1025e0 OHCI init on dev 00:12.0 (regs=0xf014c000) ohci_free_pipes 0xbf1025e0 OHCI init on dev 00:13.0 (regs=0xf014d000) ohci_free_pipes 0xbf102370 OHCI init on dev 00:14.5 (regs=0xf014e000) ohci_free_pipes 0xbf1021c0
A low speed keyboard and a high speed MSC are attached.
Idwer