Index: /trunk/include/VBox/VBoxVideo.h
===================================================================
--- /trunk/include/VBox/VBoxVideo.h	(revision 56430)
+++ /trunk/include/VBox/VBoxVideo.h	(revision 56431)
@@ -933,8 +933,4 @@
 /** Returns the max size of VBVA record. */
 #define VBOX_VBVA_CONF32_MAX_RECORD_SIZE 6
-/** The host mouse cursor capabilities: VBVA_MOUSE_CURSOR_*. */
-#define VBOX_VBVA_CONF32_MOUSE_CURSOR 7
-
-#define VBVA_MOUSE_CURSOR_NO_XOR 0x00000001
 
 typedef struct VBVACONF32
Index: /trunk/include/VBox/VBoxVideoGuest.h
===================================================================
--- /trunk/include/VBox/VBoxVideoGuest.h	(revision 56430)
+++ /trunk/include/VBox/VBoxVideoGuest.h	(revision 56431)
@@ -292,5 +292,4 @@
 RTDECL(bool)     VBoxVideoAnyWidthAllowed(void);
 RTDECL(uint16_t) VBoxHGSMIGetScreenFlags(PHGSMIGUESTCOMMANDCONTEXT pCtx);
-RTDECL(uint32_t) VBoxHGSMIGetMouseCursorFlags(PHGSMIGUESTCOMMANDCONTEXT pCtx);
 
 struct VBVAINFOVIEW;
Index: /trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/common/VBoxMPCommon.cpp
===================================================================
--- /trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/common/VBoxMPCommon.cpp	(revision 56430)
+++ /trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/common/VBoxMPCommon.cpp	(revision 56431)
@@ -19,5 +19,4 @@
 #include "VBoxMPCommon.h"
 #include <VBox/Hardware/VBoxVideoVBE.h>
-#include <iprt/asm.h>
 
 int VBoxMPCmnMapAdapterMemory(PVBOXMP_COMMON pCommon, void **ppv, uint32_t ulOffset, uint32_t ulSize)
@@ -108,50 +107,4 @@
 }
 
-static bool vboxMPCmnIsXorPointer(uint32_t fFlags,
-                                  uint32_t cWidth,
-                                  uint32_t cHeight,
-                                  const uint8_t *pu8Pixels,
-                                  uint32_t cbLength)
-{
-    if (   (fFlags & VBOX_MOUSE_POINTER_SHAPE) == 0
-        || (fFlags & VBOX_MOUSE_POINTER_ALPHA) != 0)
-    
-    {
-        return false;
-    }
-
-    if (cWidth > 8192 || cHeight > 8192)
-    {
-        /* Not supported cursor size. */
-        return false;
-    }
-
-    /* Pointer data consists of AND mask and XOR_MASK */
-    const uint32_t cbAndLine = (cWidth + 7) / 8;
-    const uint32_t cbAndMask = ((cbAndLine * cHeight + 3) & ~3);
-    const uint32_t cbXorMask = cWidth * 4 * cHeight;
-
-    if (cbAndMask + cbXorMask > cbLength)
-    {
-        return false;
-    }
-
-    /* If AND mask contains only 1, then it is a XOR only cursor. */
-    bool fXorOnly = true;
-    const uint8_t *pu8AndLine = &pu8Pixels[0];
-    uint32_t i;
-    for (i = 0; i < cHeight; ++i)
-    {
-        if (ASMBitFirstClear(pu8AndLine, cWidth) != -1)
-        {
-            fXorOnly = false;
-            break;
-        }
-        pu8AndLine += cbAndLine;
-    }
-
-    return fXorOnly;
-}
-
 bool VBoxMPCmnUpdatePointerShape(PVBOXMP_COMMON pCommon, PVIDEO_POINTER_ATTRIBUTES pAttrs, uint32_t cbLength)
 {
@@ -163,14 +116,4 @@
     uint8_t *pPixels = &pAttrs->Pixels[0];
 
-    if (pCommon->u32MouseCursorFlags & VBVA_MOUSE_CURSOR_NO_XOR)
-    {
-        if (vboxMPCmnIsXorPointer(fFlags,
-                                  cWidth, cHeight, pPixels,
-                                  cbLength - sizeof(VIDEO_POINTER_ATTRIBUTES)))
-        {
-            return false;
-        }
-    }
-
     int rc = VBoxHGSMIUpdatePointerShape(&pCommon->guestCtx,
                                          fFlags, cHotX, cHotY,
Index: /trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/common/VBoxMPDevExt.h
===================================================================
--- /trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/common/VBoxMPDevExt.h	(revision 56430)
+++ /trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/common/VBoxMPDevExt.h	(revision 56431)
@@ -67,6 +67,4 @@
 
     BOOLEAN fAnyX;                      /* Unrestricted horizontal resolution flag. */
-
-    uint32_t u32MouseCursorFlags;       /* VBVA_MOUSE_CURSOR_* */
 } VBOXMP_COMMON, *PVBOXMP_COMMON;
 
Index: /trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPWddm.cpp
===================================================================
--- /trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPWddm.cpp	(revision 56430)
+++ /trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/wddm/VBoxMPWddm.cpp	(revision 56431)
@@ -1135,7 +1135,4 @@
                 if (VBoxCommonFromDeviceExt(pDevExt)->bHGSMI)
                 {
-                    PVBOXMP_COMMON pCommon = VBoxCommonFromDeviceExt(pDevExt);
-                    pCommon->u32MouseCursorFlags = VBoxHGSMIGetMouseCursorFlags(&pCommon->guestCtx);
-
                     vboxWddmSetupDisplays(pDevExt);
                     if (!VBoxCommonFromDeviceExt(pDevExt)->bHGSMI)
Index: /trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/xpdm/VBoxMPDriver.cpp
===================================================================
--- /trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/xpdm/VBoxMPDriver.cpp	(revision 56430)
+++ /trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/xpdm/VBoxMPDriver.cpp	(revision 56431)
@@ -149,10 +149,4 @@
     VBoxSetupDisplaysHGSMI(&pExt->u.primary.commonInfo, phVRAM, ulApertureSize, cbVRAM, 0);
 
-    PVBOXMP_COMMON pCommon = &pExt->u.primary.commonInfo;
-    if (pCommon->bHGSMI)
-    {
-        pCommon->u32MouseCursorFlags = VBoxHGSMIGetMouseCursorFlags(&pCommon->guestCtx);
-    }
-
     /* Check if the chip restricts horizontal resolution or not.
      * Must be done after VBoxSetupDisplaysHGSMI, because it initializes the common structure.
Index: /trunk/src/VBox/Additions/common/VBoxVideo/Modesetting.cpp
===================================================================
--- /trunk/src/VBox/Additions/common/VBoxVideo/Modesetting.cpp	(revision 56430)
+++ /trunk/src/VBox/Additions/common/VBoxVideo/Modesetting.cpp	(revision 56431)
@@ -379,19 +379,2 @@
     return (uint16_t)u32Flags;
 }
-
-
-/**
- * Query the mouse cursor flags VBVA_MOUSE_CURSOR_*.
- *
- * @returns The mask of VBVA_MOUSE_CURSOR_* flags or 0 if host does not support the request.
- * @param  pCtx  the context containing the heap to use
- */
-RTDECL(uint32_t) VBoxHGSMIGetMouseCursorFlags(PHGSMIGUESTCOMMANDCONTEXT pCtx)
-{
-    uint32_t u32Flags = 0;
-    int rc = VBoxQueryConfHGSMIDef(pCtx, VBOX_VBVA_CONF32_MOUSE_CURSOR, 0, &u32Flags);
-    LogFunc(("u32Flags = 0x%x rc %Rrc\n", u32Flags, rc));
-    if (RT_FAILURE(rc))
-        u32Flags = 0;
-    return u32Flags;
-}
Index: /trunk/src/VBox/Devices/Graphics/DevVGA_VBVA.cpp
===================================================================
--- /trunk/src/VBox/Devices/Graphics/DevVGA_VBVA.cpp	(revision 56430)
+++ /trunk/src/VBox/Devices/Graphics/DevVGA_VBVA.cpp	(revision 56431)
@@ -840,10 +840,10 @@
 
         Log(("                  VBVA o 0x%x p %p\n",
-              pView->u32VBVAOffset,
+              pView->vbva.u32VBVAOffset,
               pView->vbva.guest.pVBVA));
 
         Log(("                  PR cb 0x%x p %p\n",
-              pView->partialRecord.cb,
-              pView->partialRecord.pu8));
+              pView->vbva.partialRecord.cb,
+              pView->vbva.partialRecord.pu8));
     }
 
@@ -2115,12 +2115,4 @@
         pConf32->u32Value = VBVA_MAX_RECORD_SIZE;
     }
-    else if (u32Index == VBOX_VBVA_CONF32_MOUSE_CURSOR)
-    {
-#if defined(RT_OS_WINDOWS) || defined(RT_OS_OS2)
-        pConf32->u32Value = 0;
-#else
-        pConf32->u32Value = VBVA_MOUSE_CURSOR_NO_XOR;
-#endif
-    }
     else
     {
