VirtualBox

Changeset 23652 in vbox for trunk/src/VBox/Additions/WINNT


Ignore:
Timestamp:
Oct 9, 2009 3:22:57 PM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
53362
Message:

Windows guest additions video driver: do not assume that IRQ is generated by the VGA device.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/Graphics/Miniport/VBoxVideo.cpp

    r23255 r23652  
    13751375    PDEVICE_EXTENSION devExt = (PDEVICE_EXTENSION)HwDeviceExtension;
    13761376    PDEVICE_EXTENSION PrimaryExtension = devExt->pPrimary;
    1377     uint32_t flags = PrimaryExtension->u.primary.pHostFlags->u32HostFlags;
    1378     if((flags & HGSMIHOSTFLAGS_IRQ) != 0)
    1379     {
    1380         if((flags & HGSMIHOSTFLAGS_COMMANDS_PENDING) != 0)
    1381         {
    1382             /* schedule a DPC*/
    1383             BOOLEAN bResult = PrimaryExtension->u.primary.VideoPortProcs.pfnQueueDpc(PrimaryExtension, VBoxVideoHGSMIDpc, (PVOID)1);
    1384             Assert(bResult);
    1385         }
    1386         /* clear the IRQ */
    1387         HGSMIClearIrq (PrimaryExtension);
    1388         return TRUE;
     1377    if (PrimaryExtension)
     1378    {
     1379        if (PrimaryExtension->u.primary.pHostFlags) /* If HGSMI is enabled at all. */
     1380        {
     1381            uint32_t flags = PrimaryExtension->u.primary.pHostFlags->u32HostFlags;
     1382            if((flags & HGSMIHOSTFLAGS_IRQ) != 0)
     1383            {
     1384                if((flags & HGSMIHOSTFLAGS_COMMANDS_PENDING) != 0)
     1385                {
     1386                    /* schedule a DPC*/
     1387                    BOOLEAN bResult = PrimaryExtension->u.primary.VideoPortProcs.pfnQueueDpc(PrimaryExtension, VBoxVideoHGSMIDpc, (PVOID)1);
     1388                    Assert(bResult);
     1389                }
     1390                /* clear the IRQ */
     1391                HGSMIClearIrq (PrimaryExtension);
     1392                return TRUE;
     1393            }
     1394        }
    13891395    }
    13901396    return FALSE;
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette