VirtualBox

Changeset 87391 in vbox for trunk/src/VBox/Main/include


Ignore:
Timestamp:
Jan 22, 2021 11:47:33 PM (4 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
142379
Message:

Allocate PDMLED console LED structs in a sensible manner for each virtual HW driver; not prearranged slices of an poorly sized global pool. bugref:9892

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/include/ConsoleImpl.h

    r86506 r87391  
    763763
    764764    HRESULT i_attachRawPCIDevices(PUVM pUVM, BusAssignmentManager *BusMgr, PCFGMNODE pDevices);
    765     void i_attachStatusDriver(PCFGMNODE pCtlInst, PPDMLED *papLeds,
    766                               uint64_t uFirst, uint64_t uLast,
     765    struct LEDSET;
     766    typedef struct LEDSET *PLEDSET;
     767    PLEDSET i_allocateDriverLeds(uint32_t cLeds, DeviceType_T enmType, DeviceType_T **ppSubTypes);
     768    void i_attachStatusDriver(PCFGMNODE pCtlInst, DeviceType_T enmType,
     769                              uint32_t uFirst, uint32_t uLast,
     770                              DeviceType_T **ppaSubTypes,
    767771                              Console::MediumAttachmentMap *pmapMediumAttachments,
    768772                              const char *pcszDevice, unsigned uInstance);
     
    991995    BusAssignmentManager*       mBusMgr;
    992996
    993     enum
     997    /** @name LEDs and their management
     998     * @{ */
     999    /** Number of LED sets in use in maLedSets. */
     1000    uint32_t          mcLedSets;
     1001    /** LED sets. */
     1002    struct LEDSET
    9941003    {
    995         iLedFloppy  = 0,
    996         cLedFloppy  = 2,
    997         iLedIde     = iLedFloppy + cLedFloppy,
    998         cLedIde     = 4,
    999         iLedSata    = iLedIde + cLedIde,
    1000         cLedSata    = 30,
    1001         iLedScsi    = iLedSata + cLedSata,
    1002         cLedScsi    = 16,
    1003         iLedSas     = iLedScsi + cLedScsi,
    1004         cLedSas     = 8,
    1005         iLedUsb     = iLedSas + cLedSas,
    1006         cLedUsb     = 8,
    1007         iLedNvme    = iLedUsb + cLedUsb,
    1008         cLedNvme    = 30,
    1009         iLedVirtio  = iLedNvme + cLedNvme,
    1010         cLedVirtio  = 16,
    1011         cLedStorage = cLedFloppy + cLedIde + cLedSata + cLedScsi + cLedSas + cLedUsb + cLedNvme + cLedVirtio
    1012     };
    1013     DeviceType_T maStorageDevType[cLedStorage];
    1014     PPDMLED      mapStorageLeds[cLedStorage];
    1015     PPDMLED      mapNetworkLeds[36];    /**< @todo adapt this to the maximum network card count */
    1016     PPDMLED      mapSharedFolderLed;
    1017     PPDMLED      mapUSBLed[2];
    1018     PPDMLED      mapCrOglLed;
     1004        PPDMLED      *papLeds;
     1005        uint32_t      cLeds;
     1006        DeviceType_T  enmType;
     1007        DeviceType_T *paSubTypes; /**< Optionally, device types for each individual LED. Runs parallel to papLeds. */
     1008    }                 maLedSets[32];
     1009    /** @} */
    10191010
    10201011    MediumAttachmentMap mapMediumAttachments;
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