func: static TRBCCode xhci_address_slot(XHCIState *xhci, unsigned int uint64_t pictx, bool bsr) USBPort * uport ; USBDevice * dev ; dma_addr_t ictx , octx , dcbaap ; uint64_t poctx ; uint32_t ictl_ctx [ 2 ] ; uint32_t slot_ctx [ 4 ] ; uint32_t ep0_ctx [ 5 ] ; int i ; TRBCCode res ; dcbaap = xhci_addr64 ( xhci -> dcbaap_low , xhci -> dcbaap_high ); poctx = ldq_le_pci_dma ( PCI_DEVICE ( xhci ) , dcbaap + 8 * slotid ); octx = xhci_mask64 ( poctx ); if ( ictl_ctx [ 0 ] != 0x0 || ictl_ctx [ 1 ] != 0x3 )  uport = xhci_lookup_uport ( xhci , slot_ctx ); if ( uport == NULL )  dev = uport -> dev; if ( ! dev || ! dev -> attached )  for (i = 0; i < xhci->numslots; i++) if ( i == slotid - 1 )  if ( xhci -> slots [ i ] . uport == uport )  res = xhci_enable_ep ( xhci , slotid , 1 , octx + 32 , ep0_ctx ); static TRBCCode xhci_enable_ep(XHCIState *xhci, unsigned int unsigned int epid, dma_addr_t uint32_t *ctx) XHCISlot * slot ; slot = & xhci -> slots [ slotid - 1 ]; if ( slot -> eps [ epid - 1 ] )  xhci_disable_ep ( xhci , slotid , epid ); static TRBCCode xhci_disable_ep(XHCIState *xhci, unsigned int unsigned int epid) XHCISlot * slot ; slot = & xhci -> slots [ slotid - 1 ]; if ( ! slot -> eps [ epid - 1 ] )  xhci_ep_nuke_xfers ( xhci , slotid , epid , 0 ); static int xhci_ep_nuke_xfers(XHCIState *xhci, unsigned int unsigned int epid, TRBCCode report) assert ( epid >= 1 && epid <= 31 ); 