Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsStorage.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsStorage.cpp	(revision 81163)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsStorage.cpp	(revision 81164)
@@ -2900,5 +2900,12 @@
     : m_pModelStorage(0)
     , m_pActionAddController(0), m_pActionRemoveController(0)
-    , m_pActionAddControllerIDE(0), m_pActionAddControllerSATA(0), m_pActionAddControllerSCSI(0), m_pActionAddControllerSAS(0), m_pActionAddControllerFloppy(0), m_pActionAddControllerUSB(0), m_pActionAddControllerNVMe(0), m_pActionAddControllerVirtioSCSI(0)
+    , m_pActionAddControllerPIIX3(0), m_pActionAddControllerPIIX4(0), m_pActionAddControllerICH6(0)
+    , m_pActionAddControllerAHCI(0)
+    , m_pActionAddControllerLsiLogic(0), m_pActionAddControllerBusLogic(0)
+    , m_pActionAddControllerLsiLogicSAS(0)
+    , m_pActionAddControllerFloppy(0)
+    , m_pActionAddControllerUSB(0)
+    , m_pActionAddControllerNVMe(0)
+    , m_pActionAddControllerVirtioSCSI(0)
     , m_pActionAddAttachment(0), m_pActionRemoveAttachment(0)
     , m_pActionAddAttachmentHD(0), m_pActionAddAttachmentCD(0), m_pActionAddAttachmentFD(0)
@@ -3272,17 +3279,20 @@
 
     m_pActionAddController->setText(tr("Add Controller"));
-    m_pActionAddControllerIDE->setText(tr("Add IDE Controller"));
-    m_pActionAddControllerSATA->setText(tr("Add SATA Controller"));
-    m_pActionAddControllerSCSI->setText(tr("Add SCSI Controller"));
-    m_pActionAddControllerSAS->setText(tr("Add SAS Controller"));
-    m_pActionAddControllerFloppy->setText(tr("Add Floppy Controller"));
-    m_pActionAddControllerUSB->setText(tr("Add USB Controller"));
-    m_pActionAddControllerNVMe->setText(tr("Add NVMe Controller"));
-    m_pActionAddControllerVirtioSCSI->setText(tr("Add virtio-scsi Controller"));
+    m_pActionAddControllerPIIX3->setText(tr("PIIX3 (IDE)"));
+    m_pActionAddControllerPIIX4->setText(tr("PIIX4 (Default IDE)"));
+    m_pActionAddControllerICH6->setText(tr("ICH6 (IDE)"));
+    m_pActionAddControllerAHCI->setText(tr("AHCI (SATA)"));
+    m_pActionAddControllerLsiLogic->setText(tr("LsiLogic (Default SCSI)"));
+    m_pActionAddControllerBusLogic->setText(tr("BusLogic (SCSI)"));
+    m_pActionAddControllerLsiLogicSAS->setText(tr("LsiLogic SAS (SAS)"));
+    m_pActionAddControllerFloppy->setText(tr("I82078 (Floppy)"));
+    m_pActionAddControllerUSB->setText(tr("USB"));
+    m_pActionAddControllerNVMe->setText(tr("NVMe (PCIe)"));
+    m_pActionAddControllerVirtioSCSI->setText(tr("virtio-scsi"));
     m_pActionRemoveController->setText(tr("Remove Controller"));
     m_pActionAddAttachment->setText(tr("Add Attachment"));
-    m_pActionAddAttachmentHD->setText(tr("Add Hard Disk"));
-    m_pActionAddAttachmentCD->setText(tr("Add Optical Drive"));
-    m_pActionAddAttachmentFD->setText(tr("Add Floppy Drive"));
+    m_pActionAddAttachmentHD->setText(tr("Hard Disk"));
+    m_pActionAddAttachmentCD->setText(tr("Optical Drive"));
+    m_pActionAddAttachmentFD->setText(tr("Floppy Drive"));
     m_pActionRemoveAttachment->setText(tr("Remove Attachment"));
 
@@ -3434,8 +3444,11 @@
 {
     QMenu menu;
-    menu.addAction(m_pActionAddControllerIDE);
-    menu.addAction(m_pActionAddControllerSATA);
-    menu.addAction(m_pActionAddControllerSCSI);
-    menu.addAction(m_pActionAddControllerSAS);
+    menu.addAction(m_pActionAddControllerPIIX3);
+    menu.addAction(m_pActionAddControllerPIIX4);
+    menu.addAction(m_pActionAddControllerICH6);
+    menu.addAction(m_pActionAddControllerAHCI);
+    menu.addAction(m_pActionAddControllerLsiLogic);
+    menu.addAction(m_pActionAddControllerBusLogic);
+    menu.addAction(m_pActionAddControllerLsiLogicSAS);
     menu.addAction(m_pActionAddControllerFloppy);
     menu.addAction(m_pActionAddControllerUSB);
@@ -3445,17 +3458,32 @@
 }
 
-void UIMachineSettingsStorage::sltAddControllerIDE()
-{
-    addControllerWrapper(generateUniqueControllerName("IDE"), KStorageBus_IDE, KStorageControllerType_PIIX4);
-}
-
-void UIMachineSettingsStorage::sltAddControllerSATA()
-{
-    addControllerWrapper(generateUniqueControllerName("SATA"), KStorageBus_SATA, KStorageControllerType_IntelAhci);
-}
-
-void UIMachineSettingsStorage::sltAddControllerSCSI()
-{
-    addControllerWrapper(generateUniqueControllerName("SCSI"), KStorageBus_SCSI, KStorageControllerType_LsiLogic);
+void UIMachineSettingsStorage::sltAddControllerPIIX3()
+{
+    addControllerWrapper(generateUniqueControllerName("PIIX3"), KStorageBus_IDE, KStorageControllerType_PIIX3);
+}
+
+void UIMachineSettingsStorage::sltAddControllerPIIX4()
+{
+    addControllerWrapper(generateUniqueControllerName("PIIX4"), KStorageBus_IDE, KStorageControllerType_PIIX4);
+}
+
+void UIMachineSettingsStorage::sltAddControllerICH6()
+{
+    addControllerWrapper(generateUniqueControllerName("ICH6"), KStorageBus_IDE, KStorageControllerType_ICH6);
+}
+
+void UIMachineSettingsStorage::sltAddControllerAHCI()
+{
+    addControllerWrapper(generateUniqueControllerName("AHCI"), KStorageBus_SATA, KStorageControllerType_IntelAhci);
+}
+
+void UIMachineSettingsStorage::sltAddControllerLsiLogic()
+{
+    addControllerWrapper(generateUniqueControllerName("LsiLogic"), KStorageBus_SCSI, KStorageControllerType_LsiLogic);
+}
+
+void UIMachineSettingsStorage::sltAddControllerBusLogic()
+{
+    addControllerWrapper(generateUniqueControllerName("BusLogic"), KStorageBus_SCSI, KStorageControllerType_BusLogic);
 }
 
@@ -3465,7 +3493,7 @@
 }
 
-void UIMachineSettingsStorage::sltAddControllerSAS()
-{
-    addControllerWrapper(generateUniqueControllerName("SAS"), KStorageBus_SAS, KStorageControllerType_LsiLogicSas);
+void UIMachineSettingsStorage::sltAddControllerLsiLogicSAS()
+{
+    addControllerWrapper(generateUniqueControllerName("LsiLogic SAS"), KStorageBus_SAS, KStorageControllerType_LsiLogicSas);
 }
 
@@ -3952,9 +3980,12 @@
     /* Configure "add controller" actions: */
     m_pActionAddController->setEnabled(fIDEPossible || fSATAPossible || fSCSIPossible || fFloppyPossible || fSASPossible || fUSBPossible || fNVMePossible || fVirtioSCSIPossible);
-    m_pActionAddControllerIDE->setEnabled(fIDEPossible);
-    m_pActionAddControllerSATA->setEnabled(fSATAPossible);
-    m_pActionAddControllerSCSI->setEnabled(fSCSIPossible);
+    m_pActionAddControllerPIIX3->setEnabled(fIDEPossible);
+    m_pActionAddControllerPIIX4->setEnabled(fIDEPossible);
+    m_pActionAddControllerICH6->setEnabled(fIDEPossible);
+    m_pActionAddControllerAHCI->setEnabled(fSATAPossible);
+    m_pActionAddControllerLsiLogic->setEnabled(fSCSIPossible);
+    m_pActionAddControllerBusLogic->setEnabled(fSCSIPossible);
     m_pActionAddControllerFloppy->setEnabled(fFloppyPossible);
-    m_pActionAddControllerSAS->setEnabled(fSASPossible);
+    m_pActionAddControllerLsiLogicSAS->setEnabled(fSASPossible);
     m_pActionAddControllerUSB->setEnabled(fUSBPossible);
     m_pActionAddControllerNVMe->setEnabled(fNVMePossible);
@@ -4446,26 +4477,50 @@
         }
 
-        /* Create 'Add IDE Controller' action: */
-        m_pActionAddControllerIDE = new QAction(this);
-        AssertPtrReturnVoid(m_pActionAddControllerIDE);
+        /* Create 'Add PIIX3 Controller' action: */
+        m_pActionAddControllerPIIX3 = new QAction(this);
+        AssertPtrReturnVoid(m_pActionAddControllerPIIX3);
         {
             /* Configure action: */
-            m_pActionAddControllerIDE->setIcon(iconPool()->icon(IDEControllerAddEn, IDEControllerAddDis));
-        }
-
-        /* Create 'Add SATA Controller' action: */
-        m_pActionAddControllerSATA = new QAction(this);
-        AssertPtrReturnVoid(m_pActionAddControllerSATA);
+            m_pActionAddControllerPIIX3->setIcon(iconPool()->icon(IDEControllerAddEn, IDEControllerAddDis));
+        }
+
+        /* Create 'Add PIIX4 Controller' action: */
+        m_pActionAddControllerPIIX4 = new QAction(this);
+        AssertPtrReturnVoid(m_pActionAddControllerPIIX4);
         {
             /* Configure action: */
-            m_pActionAddControllerSATA->setIcon(iconPool()->icon(SATAControllerAddEn, SATAControllerAddDis));
-        }
-
-        /* Create 'Add SCSI Controller' action: */
-        m_pActionAddControllerSCSI = new QAction(this);
-        AssertPtrReturnVoid(m_pActionAddControllerSCSI);
+            m_pActionAddControllerPIIX4->setIcon(iconPool()->icon(IDEControllerAddEn, IDEControllerAddDis));
+        }
+
+        /* Create 'Add ICH6 Controller' action: */
+        m_pActionAddControllerICH6 = new QAction(this);
+        AssertPtrReturnVoid(m_pActionAddControllerICH6);
         {
             /* Configure action: */
-            m_pActionAddControllerSCSI->setIcon(iconPool()->icon(SCSIControllerAddEn, SCSIControllerAddDis));
+            m_pActionAddControllerICH6->setIcon(iconPool()->icon(IDEControllerAddEn, IDEControllerAddDis));
+        }
+
+        /* Create 'Add AHCI Controller' action: */
+        m_pActionAddControllerAHCI = new QAction(this);
+        AssertPtrReturnVoid(m_pActionAddControllerAHCI);
+        {
+            /* Configure action: */
+            m_pActionAddControllerAHCI->setIcon(iconPool()->icon(SATAControllerAddEn, SATAControllerAddDis));
+        }
+
+        /* Create 'Add LsiLogic Controller' action: */
+        m_pActionAddControllerLsiLogic = new QAction(this);
+        AssertPtrReturnVoid(m_pActionAddControllerLsiLogic);
+        {
+            /* Configure action: */
+            m_pActionAddControllerLsiLogic->setIcon(iconPool()->icon(SCSIControllerAddEn, SCSIControllerAddDis));
+        }
+
+        /* Create 'Add BusLogic Controller' action: */
+        m_pActionAddControllerBusLogic = new QAction(this);
+        AssertPtrReturnVoid(m_pActionAddControllerBusLogic);
+        {
+            /* Configure action: */
+            m_pActionAddControllerBusLogic->setIcon(iconPool()->icon(SCSIControllerAddEn, SCSIControllerAddDis));
         }
 
@@ -4478,10 +4533,10 @@
         }
 
-        /* Create 'Add SAS Controller' action: */
-        m_pActionAddControllerSAS = new QAction(this);
-        AssertPtrReturnVoid(m_pActionAddControllerSAS);
+        /* Create 'Add LsiLogic SAS Controller' action: */
+        m_pActionAddControllerLsiLogicSAS = new QAction(this);
+        AssertPtrReturnVoid(m_pActionAddControllerLsiLogicSAS);
         {
             /* Configure action: */
-            m_pActionAddControllerSAS->setIcon(iconPool()->icon(SASControllerAddEn, SASControllerAddDis));
+            m_pActionAddControllerLsiLogicSAS->setIcon(iconPool()->icon(SASControllerAddEn, SASControllerAddDis));
         }
 
@@ -4647,9 +4702,12 @@
     /* Configure actions: */
     connect(m_pActionAddController, &QAction::triggered, this, &UIMachineSettingsStorage::sltAddController);
-    connect(m_pActionAddControllerIDE, &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerIDE);
-    connect(m_pActionAddControllerSATA, &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerSATA);
-    connect(m_pActionAddControllerSCSI, &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerSCSI);
+    connect(m_pActionAddControllerPIIX3, &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerPIIX3);
+    connect(m_pActionAddControllerPIIX4, &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerPIIX4);
+    connect(m_pActionAddControllerICH6, &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerICH6);
+    connect(m_pActionAddControllerAHCI, &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerAHCI);
+    connect(m_pActionAddControllerLsiLogic, &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerLsiLogic);
+    connect(m_pActionAddControllerBusLogic, &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerBusLogic);
     connect(m_pActionAddControllerFloppy, &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerFloppy);
-    connect(m_pActionAddControllerSAS, &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerSAS);
+    connect(m_pActionAddControllerLsiLogicSAS, &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerLsiLogicSAS);
     connect(m_pActionAddControllerUSB, &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerUSB);
     connect(m_pActionAddControllerNVMe, &QAction::triggered, this, &UIMachineSettingsStorage::sltAddControllerNVMe);
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsStorage.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsStorage.h	(revision 81163)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsStorage.h	(revision 81164)
@@ -107,14 +107,20 @@
     /** Handles command to add controller. */
     void sltAddController();
-    /** Handles command to add IDE controller. */
-    void sltAddControllerIDE();
-    /** Handles command to add SATA controller. */
-    void sltAddControllerSATA();
-    /** Handles command to add SCSI controller. */
-    void sltAddControllerSCSI();
+    /** Handles command to add PIIX3 controller. */
+    void sltAddControllerPIIX3();
+    /** Handles command to add PIIX4 controller. */
+    void sltAddControllerPIIX4();
+    /** Handles command to add ICH6 controller. */
+    void sltAddControllerICH6();
+    /** Handles command to add AHCI controller. */
+    void sltAddControllerAHCI();
+    /** Handles command to add LsiLogic controller. */
+    void sltAddControllerLsiLogic();
+    /** Handles command to add BusLogic controller. */
+    void sltAddControllerBusLogic();
     /** Handles command to add Floppy controller. */
     void sltAddControllerFloppy();
     /** Handles command to add SAS controller. */
-    void sltAddControllerSAS();
+    void sltAddControllerLsiLogicSAS();
     /** Handles command to add USB controller. */
     void sltAddControllerUSB();
@@ -264,12 +270,18 @@
     /** Holds the 'Remove Controller' action instance. */
     QAction *m_pActionRemoveController;
-    /** Holds the 'Add IDE Controller' action instance. */
-    QAction *m_pActionAddControllerIDE;
-    /** Holds the 'Add SATA Controller' action instance. */
-    QAction *m_pActionAddControllerSATA;
-    /** Holds the 'Add SCSI Controller' action instance. */
-    QAction *m_pActionAddControllerSCSI;
-    /** Holds the 'Add SAS Controller' action instance. */
-    QAction *m_pActionAddControllerSAS;
+    /** Holds the 'Add PIIX3 Controller' action instance. */
+    QAction *m_pActionAddControllerPIIX3;
+    /** Holds the 'Add PIIX4 Controller' action instance. */
+    QAction *m_pActionAddControllerPIIX4;
+    /** Holds the 'Add ICH6 Controller' action instance. */
+    QAction *m_pActionAddControllerICH6;
+    /** Holds the 'Add AHCI Controller' action instance. */
+    QAction *m_pActionAddControllerAHCI;
+    /** Holds the 'Add LsiLogic Controller' action instance. */
+    QAction *m_pActionAddControllerLsiLogic;
+    /** Holds the 'Add BusLogic Controller' action instance. */
+    QAction *m_pActionAddControllerBusLogic;
+    /** Holds the 'Add LsiLogic SAS Controller' action instance. */
+    QAction *m_pActionAddControllerLsiLogicSAS;
     /** Holds the 'Add Floppy Controller' action instance. */
     QAction *m_pActionAddControllerFloppy;
