Index: /trunk/src/VBox/Devices/EFI/Firmware2/VBoxPkg/VBoxIdeBusDxe/Ide.c
===================================================================
--- /trunk/src/VBox/Devices/EFI/Firmware2/VBoxPkg/VBoxIdeBusDxe/Ide.c	(revision 33028)
+++ /trunk/src/VBox/Devices/EFI/Firmware2/VBoxPkg/VBoxIdeBusDxe/Ide.c	(revision 33029)
@@ -344,14 +344,15 @@
           IdeRegsBaseAddr[IdePrimary].CommandBlockBaseAddr  = 0x1f0;
           IdeRegsBaseAddr[IdePrimary].ControlBlockBaseAddr  = 0x3f6;
+          IdeRegsBaseAddr[IdePrimary].BusMasterBaseAddr     =
+          (UINT16)((PciData.Device.Bar[4] & 0x0000fff0));
           break;
        case 0x6:
           IdeRegsBaseAddr[IdePrimary].CommandBlockBaseAddr  = 0x1e8;
           IdeRegsBaseAddr[IdePrimary].ControlBlockBaseAddr  = 0x3e6;
+          IdeRegsBaseAddr[IdePrimary].BusMasterBaseAddr     = 0;
           break;
         default:
 	  ASSERT_EFI_ERROR((EFI_UNSUPPORTED)); 
     }
-    IdeRegsBaseAddr[IdePrimary].BusMasterBaseAddr     =
-    (UINT16)((PciData.Device.Bar[4] & 0x0000fff0));
   } else {
     //
@@ -371,14 +372,15 @@
           IdeRegsBaseAddr[IdePrimary].ControlBlockBaseAddr  =
           (UINT16) ((PciData.Device.Bar[1] & 0x0000fffc) + 2);
+    	  IdeRegsBaseAddr[IdePrimary].BusMasterBaseAddr     =
+    	  (UINT16) ((PciData.Device.Bar[4] & 0x0000fff0));
 	  break;
        case 0x6:
           IdeRegsBaseAddr[IdePrimary].CommandBlockBaseAddr  = 0x1e8;
           IdeRegsBaseAddr[IdePrimary].ControlBlockBaseAddr  = 0x3e6;
+    	  IdeRegsBaseAddr[IdePrimary].BusMasterBaseAddr     = 0;
           break;
         default:
 	  ASSERT_EFI_ERROR((EFI_UNSUPPORTED)); 
     }
-    IdeRegsBaseAddr[IdePrimary].BusMasterBaseAddr     =
-    (UINT16) ((PciData.Device.Bar[4] & 0x0000fff0));
   }
 
@@ -389,14 +391,15 @@
           IdeRegsBaseAddr[IdeSecondary].CommandBlockBaseAddr  = 0x170;
           IdeRegsBaseAddr[IdeSecondary].ControlBlockBaseAddr  = 0x376;
+          IdeRegsBaseAddr[IdeSecondary].BusMasterBaseAddr     =
+          (UINT16) ((PciData.Device.Bar[4] & 0x0000fff0));
 	  break;
        case 0x6:
           IdeRegsBaseAddr[IdeSecondary].CommandBlockBaseAddr  = 0x168;
           IdeRegsBaseAddr[IdeSecondary].ControlBlockBaseAddr  = 0x366;
+    	  IdeRegsBaseAddr[IdeSecondary].BusMasterBaseAddr     = 0;
           break;
         default:
 	  ASSERT_EFI_ERROR((EFI_UNSUPPORTED)); 
     }
-    IdeRegsBaseAddr[IdeSecondary].BusMasterBaseAddr     =
-    (UINT16) ((PciData.Device.Bar[4] & 0x0000fff0));
   } else {
     //
