Index: /trunk/include/VBox/settings.h
===================================================================
--- /trunk/include/VBox/settings.h	(revision 56476)
+++ /trunk/include/VBox/settings.h	(revision 56477)
@@ -1055,9 +1055,5 @@
           ulInstance(0),
           fUseHostIOCache(true),
-          fBootable(true),
-          lIDE0MasterEmulationPort(0),
-          lIDE0SlaveEmulationPort(0),
-          lIDE1MasterEmulationPort(0),
-          lIDE1SlaveEmulationPort(0)
+          fBootable(true)
     {}
 
Index: /trunk/src/VBox/Main/include/StorageControllerImpl.h
===================================================================
--- /trunk/src/VBox/Main/include/StorageControllerImpl.h	(revision 56476)
+++ /trunk/src/VBox/Main/include/StorageControllerImpl.h	(revision 56477)
@@ -56,6 +56,4 @@
     void i_rollback();
     void i_commit();
-    HRESULT i_getIDEEmulationPort (LONG DevicePosition, LONG *aPortNumber);
-    HRESULT i_setIDEEmulationPort (LONG DevicePosition, LONG aPortNumber);
 
     // public methods for internal purposes only
Index: /trunk/src/VBox/Main/src-server/MachineImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/src-server/MachineImpl.cpp	(revision 56476)
+++ /trunk/src/VBox/Main/src-server/MachineImpl.cpp	(revision 56477)
@@ -9125,15 +9125,4 @@
         rc = pCtl->COMSETTER(UseHostIOCache)(ctlData.fUseHostIOCache);
         if (FAILED(rc)) return rc;
-
-        /* Set IDE emulation settings (only for AHCI controller). */
-        if (ctlData.controllerType == StorageControllerType_IntelAhci)
-        {
-            if (    (FAILED(rc = pCtl->i_setIDEEmulationPort(0, ctlData.lIDE0MasterEmulationPort)))
-                 || (FAILED(rc = pCtl->i_setIDEEmulationPort(1, ctlData.lIDE0SlaveEmulationPort)))
-                 || (FAILED(rc = pCtl->i_setIDEEmulationPort(2, ctlData.lIDE1MasterEmulationPort)))
-                 || (FAILED(rc = pCtl->i_setIDEEmulationPort(3, ctlData.lIDE1SlaveEmulationPort)))
-               )
-                return rc;
-        }
 
         /* Load the attached devices now. */
@@ -10397,15 +10386,4 @@
         ctl.fUseHostIOCache = !!fUseHostIOCache;
 
-        /* Save IDE emulation settings. */
-        if (ctl.controllerType == StorageControllerType_IntelAhci)
-        {
-            if (    (FAILED(rc = pCtl->i_getIDEEmulationPort(0, (LONG*)&ctl.lIDE0MasterEmulationPort)))
-                 || (FAILED(rc = pCtl->i_getIDEEmulationPort(1, (LONG*)&ctl.lIDE0SlaveEmulationPort)))
-                 || (FAILED(rc = pCtl->i_getIDEEmulationPort(2, (LONG*)&ctl.lIDE1MasterEmulationPort)))
-                 || (FAILED(rc = pCtl->i_getIDEEmulationPort(3, (LONG*)&ctl.lIDE1SlaveEmulationPort)))
-               )
-                ComAssertComRCRet(rc, rc);
-        }
-
         /* save the devices now. */
         rc = i_saveStorageDevices(pCtl, ctl);
Index: /trunk/src/VBox/Main/src-server/StorageControllerImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/src-server/StorageControllerImpl.cpp	(revision 56476)
+++ /trunk/src/VBox/Main/src-server/StorageControllerImpl.cpp	(revision 56477)
@@ -50,9 +50,5 @@
           mPortCount(2),
           fUseHostIOCache(true),
-          fBootable(false),
-          mPortIde0Master(0),
-          mPortIde0Slave(1),
-          mPortIde1Master(2),
-          mPortIde1Slave(3)
+          fBootable(false)
     { }
 
@@ -71,14 +67,4 @@
     /** Whether it is possible to boot from disks attached to this controller. */
     BOOL fBootable;
-
-    /** The following is only for the SATA controller atm. */
-    /** Port which acts as primary master for ide emulation. */
-    ULONG mPortIde0Master;
-    /** Port which acts as primary slave for ide emulation. */
-    ULONG mPortIde0Slave;
-    /** Port which acts as secondary master for ide emulation. */
-    ULONG mPortIde1Master;
-    /** Port which acts as secondary slave for ide emulation. */
-    ULONG mPortIde1Slave;
 };
 
@@ -659,78 +645,4 @@
 /////////////////////////////////////////////////////////////////////////////
 
-HRESULT StorageController::i_getIDEEmulationPort(LONG DevicePosition, LONG *aPortNumber)
-{
-    CheckComArgOutPointerValid(aPortNumber);
-
-    AutoCaller autoCaller(this);
-    if (FAILED(autoCaller.rc())) return autoCaller.rc();
-
-    AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
-
-    if (m->bd->mStorageControllerType != StorageControllerType_IntelAhci)
-        return setError(E_NOTIMPL,
-                        tr("Invalid controller type"));
-
-    switch (DevicePosition)
-    {
-        case 0:
-            *aPortNumber = m->bd->mPortIde0Master;
-            break;
-        case 1:
-            *aPortNumber = m->bd->mPortIde0Slave;
-            break;
-        case 2:
-            *aPortNumber = m->bd->mPortIde1Master;
-            break;
-        case 3:
-            *aPortNumber = m->bd->mPortIde1Slave;
-            break;
-        default:
-            return E_INVALIDARG;
-    }
-
-    return S_OK;
-}
-
-HRESULT StorageController::i_setIDEEmulationPort(LONG DevicePosition, LONG aPortNumber)
-{
-    AutoCaller autoCaller(this);
-    if (FAILED(autoCaller.rc())) return autoCaller.rc();
-
-    /* the machine needs to be mutable */
-    AutoMutableStateDependency adep(m->pParent);
-    if (FAILED(adep.rc())) return adep.rc();
-    AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS);
-
-    if (m->bd->mStorageControllerType != StorageControllerType_IntelAhci)
-        return setError(E_NOTIMPL,
-                        tr("Invalid controller type"));
-
-    if (aPortNumber < 0 || aPortNumber >= 30)
-        return setError(E_INVALIDARG,
-                        tr("Invalid port number: %ld (must be in range [%lu, %lu])"),
-                        aPortNumber, 0, 29);
-
-    switch (DevicePosition)
-    {
-        case 0:
-            m->bd->mPortIde0Master = aPortNumber;
-            break;
-        case 1:
-            m->bd->mPortIde0Slave = aPortNumber;
-            break;
-        case 2:
-            m->bd->mPortIde1Master = aPortNumber;
-            break;
-        case 3:
-            m->bd->mPortIde1Slave = aPortNumber;
-            break;
-        default:
-            return E_INVALIDARG;
-    }
-
-    return S_OK;
-}
-
 const Utf8Str& StorageController::i_getName() const
 {
Index: /trunk/src/VBox/Main/xml/Settings.cpp
===================================================================
--- /trunk/src/VBox/Main/xml/Settings.cpp	(revision 56476)
+++ /trunk/src/VBox/Main/xml/Settings.cpp	(revision 56477)
@@ -2126,8 +2126,4 @@
                   && (ulInstance                == s.ulInstance)
                   && (fUseHostIOCache           == s.fUseHostIOCache)
-                  && (lIDE0MasterEmulationPort  == s.lIDE0MasterEmulationPort)
-                  && (lIDE0SlaveEmulationPort   == s.lIDE0SlaveEmulationPort)
-                  && (lIDE1MasterEmulationPort  == s.lIDE1MasterEmulationPort)
-                  && (lIDE1SlaveEmulationPort   == s.lIDE1SlaveEmulationPort)
                   && (llAttachedDevices         == s.llAttachedDevices)
                 )
@@ -2720,9 +2716,4 @@
 {
     elmStorageController.getAttributeValue("PortCount", sctl.ulPortCount);
-    elmStorageController.getAttributeValue("IDE0MasterEmulationPort", sctl.lIDE0MasterEmulationPort);
-    elmStorageController.getAttributeValue("IDE0SlaveEmulationPort", sctl.lIDE0SlaveEmulationPort);
-    elmStorageController.getAttributeValue("IDE1MasterEmulationPort", sctl.lIDE1MasterEmulationPort);
-    elmStorageController.getAttributeValue("IDE1SlaveEmulationPort", sctl.lIDE1SlaveEmulationPort);
-
     elmStorageController.getAttributeValue("useHostIOCache", sctl.fUseHostIOCache);
 }
@@ -5063,8 +5054,8 @@
         if (sc.controllerType == StorageControllerType_IntelAhci)
         {
-            pelmController->setAttribute("IDE0MasterEmulationPort", sc.lIDE0MasterEmulationPort);
-            pelmController->setAttribute("IDE0SlaveEmulationPort", sc.lIDE0SlaveEmulationPort);
-            pelmController->setAttribute("IDE1MasterEmulationPort", sc.lIDE1MasterEmulationPort);
-            pelmController->setAttribute("IDE1SlaveEmulationPort", sc.lIDE1SlaveEmulationPort);
+            pelmController->setAttribute("IDE0MasterEmulationPort", 0);
+            pelmController->setAttribute("IDE0SlaveEmulationPort", 1);
+            pelmController->setAttribute("IDE1MasterEmulationPort", 2);
+            pelmController->setAttribute("IDE1SlaveEmulationPort", 3);
         }
 
