Index: /trunk/src/VBox/Devices/EFI/Firmware/Config.kmk
===================================================================
--- /trunk/src/VBox/Devices/EFI/Firmware/Config.kmk	(revision 58178)
+++ /trunk/src/VBox/Devices/EFI/Firmware/Config.kmk	(revision 58179)
@@ -149,4 +149,5 @@
 	MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe/$(VBOX_EFI_DEBUG_DIR)/DevicePathDxe \
 	MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe/$(VBOX_EFI_DEBUG_DIR)/DiskIoDxe \
+	MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe/$(VBOX_EFI_DEBUG_DIR)/PartitionDxe \
 	MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe/$(VBOX_EFI_DEBUG_DIR)/EnglishDxe \
 	MdeModulePkg/Universal/EbcDxe/EbcDxe/$(VBOX_EFI_DEBUG_DIR)/EbcDxe \
@@ -179,5 +180,4 @@
 	UefiCpuPkg/CpuDxe/CpuDxe/$(VBOX_EFI_DEBUG_DIR)/CpuDxe \
 	UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe/$(VBOX_EFI_DEBUG_DIR)/CpuIo2Dxe \
-	VBoxPkg/PartitionDxe/PartitionDxe/$(VBOX_EFI_DEBUG_DIR)/PartitionDxe \
 	OvmfPkg/PlatformPei/PlatformPei/$(VBOX_EFI_DEBUG_DIR)/PlatformPei \
 	VBoxPkg/VBoxAppleSim/VBoxAppleSim/$(VBOX_EFI_DEBUG_DIR)/VBoxAppleSim \
Index: /trunk/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/Disk/PartitionDxe/Apple.c
===================================================================
--- /trunk/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/Disk/PartitionDxe/Apple.c	(revision 58179)
+++ /trunk/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/Disk/PartitionDxe/Apple.c	(revision 58179)
@@ -0,0 +1,229 @@
+/* $Id$ */
+/** @file
+ * Apple.c
+ */
+
+/*
+ * Copyright (C) 2012-2015 Oracle Corporation
+ *
+ * This file is part of VirtualBox Open Source Edition (OSE), as
+ * available from http://www.virtualbox.org. This file is free software;
+ * you can redistribute it and/or modify it under the terms of the GNU
+ * General Public License (GPL) as published by the Free Software
+ * Foundation, in version 2 as it comes in the "COPYING" file of the
+ * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+ *
+ * The contents of this file may alternatively be used under the terms
+ * of the Common Development and Distribution License Version 1.0
+ * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
+ * VirtualBox OSE distribution, in which case the provisions of the
+ * CDDL are applicable instead of those of the GPL.
+ *
+ * You may elect to license modified versions of this file under the
+ * terms and conditions of either the GPL or the CDDL or both.
+ */
+
+#include "Partition.h"
+
+#define DPISTRLEN       32
+
+#pragma pack(1)
+typedef struct APPLE_PT_HEADER {
+    UINT16      sbSig;          /* must be BE 0x4552 */
+    UINT16      sbBlkSize;      /* block size of device */
+    UINT32      sbBlkCount;     /* number of blocks on device */
+    UINT16      sbDevType;      /* device type */
+    UINT16      sbDevId;        /* device id */
+    UINT32      sbData;         /* not used */
+    UINT16      sbDrvrCount;    /* driver descriptor count */
+    UINT16      sbMap[247];     /* descriptor map */
+} APPLE_PT_HEADER;
+
+typedef struct APPLE_PT_ENTRY  {
+    UINT16       signature          ; /* must be BE 0x504D for new style PT */
+    UINT16       reserved_1         ;
+    UINT32       map_entries        ; /* how many PT entries are there */
+    UINT32       pblock_start       ; /* first physical block */
+    UINT32       pblocks            ; /* number of physical blocks */
+    char         name[DPISTRLEN]    ; /* name of partition */
+    char         type[DPISTRLEN]    ; /* type of partition */
+    /* Some more data we don't really need */
+} APPLE_PT_ENTRY;
+#pragma pack()
+
+static UINT16
+be16_to_cpu(UINT16 x)
+{
+    return SwapBytes16(x);
+}
+
+static UINT32
+be32_to_cpu(UINT32 x)
+{
+    return SwapBytes32(x);
+}
+
+
+/**
+  Install child handles if the Handle supports Apple partition table format.
+
+  @param[in]  This        Calling context.
+  @param[in]  Handle      Parent Handle
+  @param[in]  DiskIo      Parent DiskIo interface
+  @param[in]  BlockIo     Parent BlockIo interface
+  @param[in]  DevicePath  Parent Device Path
+
+
+  @retval EFI_SUCCESS         Child handle(s) was added
+  @retval EFI_MEDIA_CHANGED   Media changed Detected
+  @retval other               no child handle was added
+
+**/
+EFI_STATUS
+PartitionInstallAppleChildHandles (
+  IN  EFI_DRIVER_BINDING_PROTOCOL  *This,
+  IN  EFI_HANDLE                   Handle,
+  IN  EFI_DISK_IO_PROTOCOL         *DiskIo,
+  IN  EFI_BLOCK_IO_PROTOCOL        *BlockIo,
+  IN  EFI_BLOCK_IO2_PROTOCOL       *BlockIo2,
+  IN  EFI_DEVICE_PATH_PROTOCOL     *DevicePath
+  )
+{
+  EFI_STATUS                Status;
+  UINT32                    Lba;
+  EFI_BLOCK_IO_MEDIA       *Media;
+  VOID                     *Block;
+  //UINTN                   MaxIndex;
+  /** @todo: wrong, as this PT can be on both HDD or CD */
+  CDROM_DEVICE_PATH         CdDev;
+  //EFI_DEVICE_PATH_PROTOCOL  Dev;
+  EFI_STATUS                Found;
+  UINT32                    Partition;
+  UINT32                    PartitionEntries;
+  UINT32                    VolSpaceSize;
+  UINT32                    SubBlockSize;
+  UINT32                    BlkPerSec;
+
+  VBoxLogFlowFuncMarkDP(DevicePath);
+  Found         = EFI_NOT_FOUND;
+  Media         = BlockIo->Media;
+  VolSpaceSize  = 0;
+
+  Block = AllocatePool ((UINTN) Media->BlockSize);
+
+  if (Block == NULL) {
+    return EFI_NOT_FOUND;
+  }
+
+  do {
+      APPLE_PT_HEADER * Header;
+
+      /* read PT header first */
+      Lba = 0;
+
+      Status = DiskIo->ReadDisk (
+                       DiskIo,
+                       Media->MediaId,
+                       MultU64x32 (Lba, Media->BlockSize),
+                       Media->BlockSize,
+                       Block
+                       );
+      if (EFI_ERROR (Status))
+      {
+          Found = Status;
+          break;
+      }
+
+      Header = (APPLE_PT_HEADER *)Block;
+      if (be16_to_cpu(Header->sbSig) != 0x4552)
+      {
+          break;
+      }
+      SubBlockSize = be16_to_cpu(Header->sbBlkSize);
+      BlkPerSec    = Media->BlockSize / SubBlockSize;
+
+      /* Fail if media block size isn't an exact multiple */
+      if (Media->BlockSize != SubBlockSize * BlkPerSec)
+      {
+          break;
+      }
+
+      /* Now iterate over PT entries and install child handles */
+      PartitionEntries = 1;
+      for (Partition = 1; Partition <= PartitionEntries; Partition++)
+      {
+          APPLE_PT_ENTRY * Entry;
+          UINT32 StartLba;
+          UINT32 SizeLbs;
+
+          Status = DiskIo->ReadDisk (
+                       DiskIo,
+                       Media->MediaId,
+                       MultU64x32 (Partition, SubBlockSize),
+                       SubBlockSize,
+                       Block
+                       );
+
+          if (EFI_ERROR (Status)) {
+              Status = EFI_NOT_FOUND;
+              goto done; /* would break, but ... */
+          }
+
+          Entry = (APPLE_PT_ENTRY *)Block;
+
+          if (be16_to_cpu(Entry->signature) != 0x504D)
+          {
+              Print(L"Not a new PT entry: %x", Entry->signature);
+              continue;
+          }
+
+          /* First partition contains partitions count */
+          if (Partition == 1)
+          {
+             PartitionEntries  = be32_to_cpu(Entry->map_entries);
+          }
+
+          StartLba = be32_to_cpu(Entry->pblock_start);
+          SizeLbs  = be32_to_cpu(Entry->pblocks);
+
+          if (0 && CompareMem("Apple_HFS", Entry->type, 10) == 0)
+              Print(L"HFS partition (%d of %d) at LBA 0x%x size=%dM\n",
+                    Partition, PartitionEntries, StartLba,
+                    (UINT32)(MultU64x32(SizeLbs, SubBlockSize) / (1024 * 1024)));
+
+          ZeroMem (&CdDev, sizeof (CdDev));
+          CdDev.Header.Type     = MEDIA_DEVICE_PATH;
+          CdDev.Header.SubType  = MEDIA_CDROM_DP;
+          SetDevicePathNodeLength (&CdDev.Header, sizeof (CdDev));
+
+          CdDev.BootEntry = 0;
+          /* Convert from partition to media blocks */
+          CdDev.PartitionStart = StartLba / BlkPerSec;  /* start, LBA */
+          CdDev.PartitionSize  = SizeLbs / BlkPerSec;   /* size,  LBs */
+
+          Status = PartitionInstallChildHandle (
+              This,
+              Handle,
+              DiskIo,
+              BlockIo,
+              BlockIo2,
+              DevicePath,
+              (EFI_DEVICE_PATH_PROTOCOL *) &CdDev,
+              CdDev.PartitionStart,
+              CdDev.PartitionStart + CdDev.PartitionSize - 1,
+              SubBlockSize,
+              FALSE);
+
+          if (!EFI_ERROR (Status)) {
+              Found = EFI_SUCCESS;
+          }
+      }
+
+  } while (0);
+
+ done:
+  FreePool (Block);
+
+  return Found;
+}
Index: /trunk/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/Disk/PartitionDxe/ElTorito.c
===================================================================
--- /trunk/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/Disk/PartitionDxe/ElTorito.c	(revision 58178)
+++ /trunk/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/Disk/PartitionDxe/ElTorito.c	(revision 58179)
@@ -60,4 +60,7 @@
   UINT32                  VolSpaceSize;
 
+#ifdef VBOX
+  VBoxLogFlowFuncMarkDP(DevicePath);
+#endif
   Found         = EFI_NOT_FOUND;
   Media         = BlockIo->Media;
Index: /trunk/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/Disk/PartitionDxe/Gpt.c
===================================================================
--- /trunk/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/Disk/PartitionDxe/Gpt.c	(revision 58178)
+++ /trunk/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/Disk/PartitionDxe/Gpt.c	(revision 58179)
@@ -195,4 +195,7 @@
   UINT32                      MediaId;
 
+#ifdef VBOX
+  VBoxLogFlowFuncMarkDP(DevicePath);
+#endif
   ProtectiveMbr = NULL;
   PrimaryHeader = NULL;
Index: /trunk/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/Disk/PartitionDxe/Mbr.c
===================================================================
--- /trunk/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/Disk/PartitionDxe/Mbr.c	(revision 58178)
+++ /trunk/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/Disk/PartitionDxe/Mbr.c	(revision 58179)
@@ -144,4 +144,7 @@
   LastBlock = BlockIo->Media->LastBlock;
 
+#ifdef VBOX
+  VBoxLogFlowFuncMarkDP(DevicePath);
+#endif
   Mbr = AllocatePool (BlockSize);
   if (Mbr == NULL) {
Index: /trunk/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c
===================================================================
--- /trunk/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c	(revision 58178)
+++ /trunk/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c	(revision 58179)
@@ -43,4 +43,7 @@
 //
 PARTITION_DETECT_ROUTINE mPartitionDetectRoutineTable[] = {
+#ifdef VBOX
+  PartitionInstallAppleChildHandles,
+#endif
   PartitionInstallGptChildHandles,
   PartitionInstallElToritoChildHandles,
@@ -76,4 +79,7 @@
   EFI_DISK_IO_PROTOCOL      *DiskIo;
   EFI_DEV_PATH              *Node;
+#ifdef VBOX
+  VBoxLogFlowFuncEnter();
+#endif
 
   //
@@ -85,4 +91,7 @@
     // if yes, go on checking other conditions
     //
+#ifdef VBOX
+    VBoxLogFlowFuncMarkDP(RemainingDevicePath);
+#endif
     if (!IsDevicePathEnd (RemainingDevicePath)) {
       //
@@ -91,4 +100,5 @@
       //
       Node = (EFI_DEV_PATH *) RemainingDevicePath;
+#ifndef VBOX
       if (Node->DevPath.Type != MEDIA_DEVICE_PATH ||
         Node->DevPath.SubType != MEDIA_HARDDRIVE_DP ||
@@ -96,4 +106,14 @@
         return EFI_UNSUPPORTED;
       }
+#else
+      if (   Node->DevPath.Type != MEDIA_DEVICE_PATH
+          || Node->DevPath.SubType != MEDIA_HARDDRIVE_DP
+          || DevicePathNodeLength (&Node->DevPath) != sizeof (HARDDRIVE_DEVICE_PATH)
+          || Node->DevPath.Type != MESSAGING_DEVICE_PATH
+          || Node->DevPath.SubType != MSG_SATA_DP) {
+        VBoxLogFlowFuncLeaveRC(EFI_UNSUPPORTED);
+         return EFI_UNSUPPORTED;
+      }
+#endif
     }
   }
@@ -111,7 +131,13 @@
                   );
   if (Status == EFI_ALREADY_STARTED) {
+#ifdef VBOX
+    VBoxLogFlowFuncLeaveRC(EFI_SUCCESS);
+#endif
     return EFI_SUCCESS;
   }
   if (EFI_ERROR (Status)) {
+#ifdef VBOX
+    VBoxLogFlowFuncLeaveRC(Status);
+#endif
     return Status;
   }
@@ -138,8 +164,14 @@
                   );
   if (Status == EFI_ALREADY_STARTED) {
+#ifdef VBOX
+    VBoxLogFlowFuncMarkDP(ParentDevicePath);
+#endif
     return EFI_SUCCESS;
   }
 
   if (EFI_ERROR (Status)) {
+#ifdef VBOX
+    VBoxLogFlowFuncLeaveRC(Status);
+#endif
     return Status;
   }
@@ -167,7 +199,13 @@
                   );
   if (EFI_ERROR (Status)) {
+#ifdef VBOX
+    VBoxLogFlowFuncLeaveRC(Status);
+#endif
     return Status;
   }
 
+#ifdef VBOX
+  VBoxLogFlowFuncLeaveRC(EFI_SUCCESS);
+#endif
   return EFI_SUCCESS;  
 }
@@ -205,4 +243,9 @@
   BOOLEAN                   MediaPresent;
   EFI_TPL                   OldTpl;
+#ifdef VBOX
+  int                       idxRoutine = 0;
+
+  VBoxLogFlowFuncEnter();
+#endif
 
   BlockIo2 = NULL;
@@ -235,4 +278,7 @@
                   );
   if (EFI_ERROR (Status)) {
+#ifdef VBOX
+    VBoxLogFlowFuncMarkRC(Status);
+#endif
     goto Exit;
   }
@@ -259,4 +305,7 @@
                   );
   if (EFI_ERROR (Status) && Status != EFI_ALREADY_STARTED) {
+#ifdef VBOX
+    VBoxLogFlowFuncMarkRC(Status);
+#endif
     goto Exit;
   }
@@ -277,4 +326,7 @@
           ControllerHandle
           );
+#ifdef VBOX
+    VBoxLogFlowFuncMarkRC(Status);
+#endif
     goto Exit;
   }
@@ -304,8 +356,17 @@
                    ParentDevicePath
                    );
+#ifdef VBOX
+      VBoxLogFlowFuncMarkRC(Status);
+#endif
       if (!EFI_ERROR (Status) || Status == EFI_MEDIA_CHANGED || Status == EFI_NO_MEDIA) {
+#ifdef VBOX
+        VBoxLogFlowFuncMarkVar(idxRoutine, "%d");
+#endif
         break;
       }
       Routine++;
+#ifdef VBOX
+      idxRoutine++;
+#endif
     }
   }
@@ -352,4 +413,7 @@
 Exit:
   gBS->RestoreTPL (OldTpl);
+#ifdef VBOX
+  VBoxLogFlowFuncLeaveRC(Status);
+#endif
   return Status;
 }
Index: /trunk/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.h
===================================================================
--- /trunk/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.h	(revision 58178)
+++ /trunk/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/Disk/PartitionDxe/Partition.h	(revision 58179)
@@ -414,7 +414,22 @@
   );
 
-typedef
-EFI_STATUS
-(*PARTITION_DETECT_ROUTINE) (
+#ifdef VBOX
+/**
+  Install child handles if the Handle supports Apple format.
+
+  @param  This              Calling context.
+  @param  Handle            Parent Handle.
+  @param  DiskIo            Parent DiskIo interface.
+  @param  BlockIo           Parent BlockIo interface.
+  @param[in]  BlockIo2          Parent BlockIo2 interface.
+  @param  DevicePath        Parent Device Path.
+
+  @retval EFI_SUCCESS       A child handle was added.
+  @retval EFI_MEDIA_CHANGED Media change was detected.
+  @retval Others            Apple partition was not found.
+
+**/
+EFI_STATUS
+PartitionInstallAppleChildHandles (
   IN  EFI_DRIVER_BINDING_PROTOCOL  *This,
   IN  EFI_HANDLE                   Handle,
@@ -424,4 +439,16 @@
   IN  EFI_DEVICE_PATH_PROTOCOL     *DevicePath
   );
-
 #endif
+
+typedef
+EFI_STATUS
+(*PARTITION_DETECT_ROUTINE) (
+  IN  EFI_DRIVER_BINDING_PROTOCOL  *This,
+  IN  EFI_HANDLE                   Handle,
+  IN  EFI_DISK_IO_PROTOCOL         *DiskIo,
+  IN  EFI_BLOCK_IO_PROTOCOL        *BlockIo,
+  IN  EFI_BLOCK_IO2_PROTOCOL       *BlockIo2,
+  IN  EFI_DEVICE_PATH_PROTOCOL     *DevicePath
+  );
+
+#endif
Index: /trunk/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
===================================================================
--- /trunk/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf	(revision 58178)
+++ /trunk/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf	(revision 58179)
@@ -42,4 +42,5 @@
   Gpt.c
   ElTorito.c
+  Apple.c                                       # VBox specific
   Partition.c
   Partition.h
Index: /trunk/src/VBox/Devices/EFI/Firmware/OvmfPkg/OvmfPkgIa32.dsc
===================================================================
--- /trunk/src/VBox/Devices/EFI/Firmware/OvmfPkg/OvmfPkgIa32.dsc	(revision 58178)
+++ /trunk/src/VBox/Devices/EFI/Firmware/OvmfPkg/OvmfPkgIa32.dsc	(revision 58179)
@@ -415,9 +415,5 @@
   MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
   MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
-!ifndef $(VBOX)
   MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
-!else
-  VBoxPkg/PartitionDxe/PartitionDxe.inf
-!endif
   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
   MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
Index: /trunk/src/VBox/Devices/EFI/Firmware/OvmfPkg/OvmfPkgIa32.fdf
===================================================================
--- /trunk/src/VBox/Devices/EFI/Firmware/OvmfPkg/OvmfPkgIa32.fdf	(revision 58178)
+++ /trunk/src/VBox/Devices/EFI/Firmware/OvmfPkg/OvmfPkgIa32.fdf	(revision 58179)
@@ -186,9 +186,5 @@
 INF  MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
 INF  MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
-!ifndef $(VBOX)
 INF  MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
-!else
-INF  VBoxPkg/PartitionDxe/PartitionDxe.inf
-!endif
 INF  MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
 INF  MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
Index: /trunk/src/VBox/Devices/EFI/Firmware/OvmfPkg/OvmfPkgX64.dsc
===================================================================
--- /trunk/src/VBox/Devices/EFI/Firmware/OvmfPkg/OvmfPkgX64.dsc	(revision 58178)
+++ /trunk/src/VBox/Devices/EFI/Firmware/OvmfPkg/OvmfPkgX64.dsc	(revision 58179)
@@ -415,9 +415,5 @@
   MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
   MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
-!ifndef $(VBOX)
   MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
-!else
-  VBoxPkg/PartitionDxe/PartitionDxe.inf
-!endif
   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
   MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
Index: /trunk/src/VBox/Devices/EFI/Firmware/OvmfPkg/OvmfPkgX64.fdf
===================================================================
--- /trunk/src/VBox/Devices/EFI/Firmware/OvmfPkg/OvmfPkgX64.fdf	(revision 58178)
+++ /trunk/src/VBox/Devices/EFI/Firmware/OvmfPkg/OvmfPkgX64.fdf	(revision 58179)
@@ -184,9 +184,5 @@
 INF  MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
 INF  MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
-!ifndef $(VBOX)
 INF  MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
-!else
-INF  VBoxPkg/PartitionDxe/PartitionDxe.inf
-!endif
 INF  MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
 INF  MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
