VirtualBox

Ignore:
Timestamp:
Oct 8, 2013 10:38:17 PM (12 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
89702
Message:

Main, Frontends: Make the port count of the SAS controller configurable and support up to 255 storage devices

Location:
trunk/src/VBox/Frontends/VirtualBox/src/settings/machine
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsStorage.cpp

    r48984 r48985  
    485485    }
    486486    return mPortCount;
     487}
     488
     489uint ControllerItem::maxPortCount()
     490{
     491    return (uint)vboxGlobal().virtualBox().GetSystemProperties().GetMaxPortCountForStorageBus(ctrBusType());
    487492}
    488493
     
    11071112                if (item->rtti() == AbstractItem::Type_ControllerItem)
    11081113                    return static_cast <ControllerItem*> (item)->portCount();
     1114            return 0;
     1115        }
     1116        case R_CtrMaxPortCount:
     1117        {
     1118            if (AbstractItem *item = static_cast <AbstractItem*> (aIndex.internalPointer()))
     1119                if (item->rtti() == AbstractItem::Type_ControllerItem)
     1120                    return static_cast <ControllerItem*> (item)->maxPortCount();
    11091121            return 0;
    11101122        }
     
    25152527
    25162528                KStorageBus bus = mStorageModel->data (index, StorageModel::R_CtrBusType).value <KStorageBus>();
    2517                 mLbPortCount->setVisible (bus == KStorageBus_SATA);
    2518                 mSbPortCount->setVisible (bus == KStorageBus_SATA);
     2529                mLbPortCount->setVisible (bus == KStorageBus_SATA || bus == KStorageBus_SAS);
     2530                mSbPortCount->setVisible (bus == KStorageBus_SATA || bus == KStorageBus_SAS);
    25192531                uint uPortCount = mStorageModel->data (index, StorageModel::R_CtrPortCount).toUInt();
     2532                uint uMaxPortCount = mStorageModel->data (index, StorageModel::R_CtrMaxPortCount).toUInt();
     2533                mSbPortCount->setMaximum(uMaxPortCount);
    25202534                mSbPortCount->setValue (uPortCount);
    25212535
     
    34063420                controller.SetControllerType(controllerType);
    34073421                controller.SetUseHostIOCache(fUseHostIOCache);
    3408                 if (controllerBus == KStorageBus_SATA)
     3422                if (controllerBus == KStorageBus_SATA || controllerBus == KStorageBus_SAS)
    34093423                {
    34103424                    uPortCount = qMax(uPortCount, controller.GetMinPortCount());
     
    34553469            controller.SetControllerType(controllerType);
    34563470            controller.SetUseHostIOCache(fUseHostIOCache);
    3457             if (controllerBus == KStorageBus_SATA)
     3471            if (controllerBus == KStorageBus_SATA || controllerBus == KStorageBus_SAS)
    34583472            {
    34593473                uPortCount = qMax(uPortCount, controller.GetMinPortCount());
  • trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsStorage.h

    r48983 r48985  
    324324    ControllerTypeList ctrTypes() const;
    325325    uint portCount();
     326    uint maxPortCount();
    326327    bool ctrUseIoCache() const;
    327328
     
    458459        R_CtrBusType,
    459460        R_CtrPortCount,
     461        R_CtrMaxPortCount,
    460462        R_CtrIoCache,
    461463
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