Revision 025b168c hw/usb-ehci.c
b/hw/usb-ehci.c | ||
---|---|---|
600 | 600 |
|
601 | 601 |
static void ehci_trace_qh(EHCIQueue *q, target_phys_addr_t addr, EHCIqh *qh) |
602 | 602 |
{ |
603 |
trace_usb_ehci_qh(q, addr, qh->next, |
|
604 |
qh->current_qtd, qh->next_qtd, qh->altnext_qtd, |
|
605 |
get_field(qh->epchar, QH_EPCHAR_RL), |
|
606 |
get_field(qh->epchar, QH_EPCHAR_MPLEN), |
|
607 |
get_field(qh->epchar, QH_EPCHAR_EPS), |
|
608 |
get_field(qh->epchar, QH_EPCHAR_EP), |
|
609 |
get_field(qh->epchar, QH_EPCHAR_DEVADDR), |
|
610 |
(bool)(qh->epchar & QH_EPCHAR_C), |
|
611 |
(bool)(qh->epchar & QH_EPCHAR_H), |
|
612 |
(bool)(qh->epchar & QH_EPCHAR_DTC), |
|
613 |
(bool)(qh->epchar & QH_EPCHAR_I)); |
|
603 |
/* need three here due to argument count limits */ |
|
604 |
trace_usb_ehci_qh_ptrs(q, addr, qh->next, |
|
605 |
qh->current_qtd, qh->next_qtd, qh->altnext_qtd); |
|
606 |
trace_usb_ehci_qh_fields(addr, |
|
607 |
get_field(qh->epchar, QH_EPCHAR_RL), |
|
608 |
get_field(qh->epchar, QH_EPCHAR_MPLEN), |
|
609 |
get_field(qh->epchar, QH_EPCHAR_EPS), |
|
610 |
get_field(qh->epchar, QH_EPCHAR_EP), |
|
611 |
get_field(qh->epchar, QH_EPCHAR_DEVADDR)); |
|
612 |
trace_usb_ehci_qh_bits(addr, |
|
613 |
(bool)(qh->epchar & QH_EPCHAR_C), |
|
614 |
(bool)(qh->epchar & QH_EPCHAR_H), |
|
615 |
(bool)(qh->epchar & QH_EPCHAR_DTC), |
|
616 |
(bool)(qh->epchar & QH_EPCHAR_I)); |
|
614 | 617 |
} |
615 | 618 |
|
616 | 619 |
static void ehci_trace_qtd(EHCIQueue *q, target_phys_addr_t addr, EHCIqtd *qtd) |
617 | 620 |
{ |
618 |
trace_usb_ehci_qtd(q, addr, qtd->next, qtd->altnext, |
|
619 |
get_field(qtd->token, QTD_TOKEN_TBYTES), |
|
620 |
get_field(qtd->token, QTD_TOKEN_CPAGE), |
|
621 |
get_field(qtd->token, QTD_TOKEN_CERR), |
|
622 |
get_field(qtd->token, QTD_TOKEN_PID), |
|
623 |
(bool)(qtd->token & QTD_TOKEN_IOC), |
|
624 |
(bool)(qtd->token & QTD_TOKEN_ACTIVE), |
|
625 |
(bool)(qtd->token & QTD_TOKEN_HALT), |
|
626 |
(bool)(qtd->token & QTD_TOKEN_BABBLE), |
|
627 |
(bool)(qtd->token & QTD_TOKEN_XACTERR)); |
|
621 |
/* need three here due to argument count limits */ |
|
622 |
trace_usb_ehci_qtd_ptrs(q, addr, qtd->next, qtd->altnext); |
|
623 |
trace_usb_ehci_qtd_fields(addr, |
|
624 |
get_field(qtd->token, QTD_TOKEN_TBYTES), |
|
625 |
get_field(qtd->token, QTD_TOKEN_CPAGE), |
|
626 |
get_field(qtd->token, QTD_TOKEN_CERR), |
|
627 |
get_field(qtd->token, QTD_TOKEN_PID)); |
|
628 |
trace_usb_ehci_qtd_bits(addr, |
|
629 |
(bool)(qtd->token & QTD_TOKEN_IOC), |
|
630 |
(bool)(qtd->token & QTD_TOKEN_ACTIVE), |
|
631 |
(bool)(qtd->token & QTD_TOKEN_HALT), |
|
632 |
(bool)(qtd->token & QTD_TOKEN_BABBLE), |
|
633 |
(bool)(qtd->token & QTD_TOKEN_XACTERR)); |
|
628 | 634 |
} |
629 | 635 |
|
630 | 636 |
static void ehci_trace_itd(EHCIState *s, target_phys_addr_t addr, EHCIitd *itd) |
Also available in: Unified diff