[SeaBIOS] [PATCH] xhci: allocate scratch pad buffers

Idwer Vollering vidwer at gmail.com
Sun Dec 29 23:30:22 CET 2013


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 at i0cf8/usb at 10,1/storage at 4/*@0/*@0,0
Searching bootorder for: /pci at i0cf8/usb at 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



More information about the SeaBIOS mailing list