VirtualBox

Changeset 53977 in vbox


Ignore:
Timestamp:
Jan 27, 2015 6:14:27 PM (10 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
97879
Message:

VUSB: Added separate SS EP companion descriptor to VUSBDESCENDPOINTEX since it is mandatory for USB3 and not class specific.

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vusb.h

    r53210 r53977  
    7070#define VUSB_DT_INTERFACE_MIN_LEN       9
    7171#define VUSB_DT_ENDPOINT_MIN_LEN        7
     72#define VUSB_DT_SSEP_COMPANION_MIN_LEN  6
    7273/** @} */
    7374
     
    399400    /** Pointer to additional descriptor bytes following what's covered by VUSBDESCENDPOINT. */
    400401    const void *pvMore;
    401     /** Pointer to additional class- or vendor-specific interface descriptors. */
     402    /** Pointer to additional class- or vendor-specific endpoint descriptors. */
    402403    const void *pvClass;
    403404    /** Size of class- or vendor-specific descriptors. */
    404405    uint16_t cbClass;
     406    /** Pointer to SuperSpeed endpoint companion descriptor (SS endpoints only). */
     407    const void *pvSsepc;
     408    /** Size of SuperSpeed endpoint companion descriptor.
     409     * @remark Must be non-zero for SuperSpeed endpoints. */
     410    uint16_t cbSsepc;
    405411} VUSBDESCENDPOINTEX;
    406412/** Pointer to a parsed USB endpoint descriptor. */
  • trunk/src/VBox/Devices/Storage/UsbMsd.cpp

    r53210 r53977  
    291291        /* .pvMore = */     NULL,
    292292        /* .pvClass = */    NULL,
    293         /* .cbClass = */    0
     293        /* .cbClass = */    0,
     294        /* .pvSsepc = */    NULL,
     295        /* .cbSsepc = */    0
    294296    },
    295297    {
     
    304306        /* .pvMore = */     NULL,
    305307        /* .pvClass = */    NULL,
    306         /* .cbClass = */    0
     308        /* .cbClass = */    0,
     309        /* .pvSsepc = */    NULL,
     310        /* .cbSsepc = */    0
    307311    }
    308312};
     
    321325        /* .pvMore = */     NULL,
    322326        /* .pvClass = */    NULL,
    323         /* .cbClass = */    0
     327        /* .cbClass = */    0,
     328        /* .pvSsepc = */    NULL,
     329        /* .cbSsepc = */    0
    324330    },
    325331    {
     
    334340        /* .pvMore = */     NULL,
    335341        /* .pvClass = */    NULL,
    336         /* .cbClass = */    0
     342        /* .cbClass = */    0,
     343        /* .pvSsepc = */    NULL,
     344        /* .cbSsepc = */    0
    337345    }
    338346};
     
    359367        },
    360368        /* .pvMore = */     NULL,
    361         /* .pvClass = */    &g_aUsbMsdEpCompanionSS,
    362         /* .cbClass = */    sizeof(g_aUsbMsdEpCompanionSS)
     369        /* .pvClass = */    NULL,
     370        /* .cbClass = */    0,
     371        /* .pvSsepc = */    &g_aUsbMsdEpCompanionSS,
     372        /* .cbSsepc = */    sizeof(g_aUsbMsdEpCompanionSS)
    363373    },
    364374    {
     
    372382        },
    373383        /* .pvMore = */     NULL,
    374         /* .pvClass = */    &g_aUsbMsdEpCompanionSS,
    375         /* .cbClass = */    sizeof(g_aUsbMsdEpCompanionSS)
     384        /* .pvClass = */    NULL,
     385        /* .cbClass = */    0,
     386        /* .pvSsepc = */    &g_aUsbMsdEpCompanionSS,
     387        /* .cbSsepc = */    sizeof(g_aUsbMsdEpCompanionSS)
    376388    }
    377389};
  • trunk/src/VBox/Devices/USB/VUSBDevice.cpp

    r53633 r53977  
    738738            {
    739739                cbTotal += pIf->paSettings[j].paEndpoints[k].Core.bLength;
     740                cbTotal += pIf->paSettings[j].paEndpoints[k].cbSsepc;
    740741                cbTotal += pIf->paSettings[j].paEndpoints[k].cbClass;
    741742            }
     
    776777                COPY_DATA(pbBuf, cbLeft, &EndPtDesc, VUSB_DT_ENDPOINT_MIN_LEN);
    777778                COPY_DATA(pbBuf, cbLeft, pIfDesc->paEndpoints[k].pvMore, EndPtDesc.bLength - VUSB_DT_ENDPOINT_MIN_LEN);
     779                COPY_DATA(pbBuf, cbLeft, pIfDesc->paEndpoints[k].pvSsepc, pIfDesc->paEndpoints[k].cbSsepc);
    778780                COPY_DATA(pbBuf, cbLeft, pIfDesc->paEndpoints[k].pvClass, pIfDesc->paEndpoints[k].cbClass);
    779781            }
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette