Index: /trunk/src/VBox/Devices/EFI/FirmwareNew/OvmfPkg/OvmfPkgIa32.dsc
===================================================================
--- /trunk/src/VBox/Devices/EFI/FirmwareNew/OvmfPkg/OvmfPkgIa32.dsc	(revision 80624)
+++ /trunk/src/VBox/Devices/EFI/FirmwareNew/OvmfPkg/OvmfPkgIa32.dsc	(revision 80625)
@@ -744,5 +744,7 @@
 !ifndef $(VBOX)
   OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
+!endif
   OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
+!ifndef $(VBOX)
   OvmfPkg/VirtioRngDxe/VirtioRng.inf
   OvmfPkg/XenIoPciDxe/XenIoPciDxe.inf
Index: /trunk/src/VBox/Devices/EFI/FirmwareNew/OvmfPkg/OvmfPkgIa32.fdf
===================================================================
--- /trunk/src/VBox/Devices/EFI/FirmwareNew/OvmfPkg/OvmfPkgIa32.fdf	(revision 80624)
+++ /trunk/src/VBox/Devices/EFI/FirmwareNew/OvmfPkg/OvmfPkgIa32.fdf	(revision 80625)
@@ -223,8 +223,10 @@
 INF  OvmfPkg/BlockMmioToBlockIoDxe/BlockIo.inf
 INF  OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf
+INF  OvmfPkg/Virtio10Dxe/Virtio10.inf
 !ifndef $(VBOX)
-INF  OvmfPkg/Virtio10Dxe/Virtio10.inf
 INF  OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
+!endif
 INF  OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
+!ifndef $(VBOX)
 INF  OvmfPkg/VirtioRngDxe/VirtioRng.inf
 INF  OvmfPkg/XenIoPciDxe/XenIoPciDxe.inf
Index: /trunk/src/VBox/Devices/EFI/FirmwareNew/OvmfPkg/OvmfPkgX64.dsc
===================================================================
--- /trunk/src/VBox/Devices/EFI/FirmwareNew/OvmfPkg/OvmfPkgX64.dsc	(revision 80624)
+++ /trunk/src/VBox/Devices/EFI/FirmwareNew/OvmfPkg/OvmfPkgX64.dsc	(revision 80625)
@@ -792,5 +792,7 @@
 !ifndef $(VBOX)
   OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
+!endif
   OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
+!ifndef $(VBOX)
   OvmfPkg/VirtioRngDxe/VirtioRng.inf
   OvmfPkg/XenIoPciDxe/XenIoPciDxe.inf
Index: /trunk/src/VBox/Devices/EFI/FirmwareNew/OvmfPkg/OvmfPkgX64.fdf
===================================================================
--- /trunk/src/VBox/Devices/EFI/FirmwareNew/OvmfPkg/OvmfPkgX64.fdf	(revision 80624)
+++ /trunk/src/VBox/Devices/EFI/FirmwareNew/OvmfPkg/OvmfPkgX64.fdf	(revision 80625)
@@ -224,8 +224,10 @@
 INF  OvmfPkg/BlockMmioToBlockIoDxe/BlockIo.inf
 INF  OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf
+INF  OvmfPkg/Virtio10Dxe/Virtio10.inf
 !ifndef $(VBOX)
-INF  OvmfPkg/Virtio10Dxe/Virtio10.inf
 INF  OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
+!endif
 INF  OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
+!ifndef $(VBOX)
 INF  OvmfPkg/VirtioRngDxe/VirtioRng.inf
 INF  OvmfPkg/XenIoPciDxe/XenIoPciDxe.inf
Index: /trunk/src/VBox/Devices/EFI/FirmwareNew/OvmfPkg/VirtioScsiDxe/VirtioScsi.c
===================================================================
--- /trunk/src/VBox/Devices/EFI/FirmwareNew/OvmfPkg/VirtioScsiDxe/VirtioScsi.c	(revision 80624)
+++ /trunk/src/VBox/Devices/EFI/FirmwareNew/OvmfPkg/VirtioScsiDxe/VirtioScsi.c	(revision 80625)
@@ -444,12 +444,24 @@
   VOID                      *ResponseBuffer;
   DESC_INDICES              Indices;
+#ifndef VBOX
   VOID                      *RequestMapping;
   VOID                      *ResponseMapping;
   VOID                      *InDataMapping;
   VOID                      *OutDataMapping;
+#else
+  VOID                      *RequestMapping  = NULL; /**< Initialize or cl.exe fails (gets confused by goto's). */
+  VOID                      *ResponseMapping = NULL;
+  VOID                      *InDataMapping   = NULL;
+  VOID                      *OutDataMapping  = NULL;
+#endif
   EFI_PHYSICAL_ADDRESS      RequestDeviceAddress;
   EFI_PHYSICAL_ADDRESS      ResponseDeviceAddress;
+#ifndef VBOX
   EFI_PHYSICAL_ADDRESS      InDataDeviceAddress;
   EFI_PHYSICAL_ADDRESS      OutDataDeviceAddress;
+#else
+  EFI_PHYSICAL_ADDRESS      InDataDeviceAddress = 0; /**< Initialize or cl.exe fails (gets confused by goto's). */
+  EFI_PHYSICAL_ADDRESS      OutDataDeviceAddress = 0;
+#endif
   VOID                      *InDataBuffer;
   UINTN                     InDataNumPages;
