VirtualBox

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


Ignore:
Timestamp:
Mar 15, 2012 5:14:31 PM (13 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
76866
Message:

Made XPDM driver get LFB base from PCI.

Location:
trunk/src/VBox/Additions/WINNT/Graphics/Video/mp
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/common/VBoxMPCommon.cpp

    r36867 r40489  
    3333
    3434    PHYSICAL_ADDRESS FrameBuffer;
    35     FrameBuffer.QuadPart = VBE_DISPI_LFB_PHYSICAL_ADDRESS + ulOffset;
     35    FrameBuffer.QuadPart = pPEXT->u.primary.physLFBBase.QuadPart + ulOffset;
    3636
    3737    PVOID VideoRamBase = NULL;
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/common/VBoxMPDevExt.h

    r40483 r40489  
    128128           ULONG ulVbvaEnabled;                /* Indicates that VBVA mode is enabled. */
    129129           ULONG ulMaxFrameBufferSize;         /* The size of the VRAM allocated for the a single framebuffer. */
     130           PHYSICAL_ADDRESS physLFBBase;       /* Physical linear framebuffer base. */
     131           ULONG ulApertureSize;               /* Size of the LFB aperture (>= VRAM size). */
    130132           BOOLEAN fMouseHidden;               /* Has the mouse cursor been hidden by the guest? */
    131133           VBOXMP_COMMON commonInfo;
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/xpdm/VBoxMPDriver.cpp

    r38906 r40489  
    9292    VBOXMP_WARN_VPS(rc);
    9393
    94     /* Call VideoPortGetAccessRanges to ensure interrupt info in ConfigInfo gets set up */
     94    /* Call VideoPortGetAccessRanges to ensure interrupt info in ConfigInfo gets set up
     95     * and to get LFB aperture data.
     96     */
    9597    {
    9698        VIDEO_ACCESS_RANGE tmpRanges[4];
     
    114116        }
    115117        VBOXMP_WARN_VPS(rc);
     118        if (rc != NO_ERROR) {
     119            return rc;
     120        }
     121
     122        /* The first range is the framebuffer. We require that information. */
     123        pExt->u.primary.physLFBBase    = tmpRanges[0].RangeStart;
     124        pExt->u.primary.ulApertureSize = tmpRanges[0].RangeLength;
    116125    }
    117126
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/xpdm/VBoxMPIOCTL.cpp

    r37423 r40489  
    7575    LOGF(("framebuffer offset %#x", pExt->ulFrameBufferOffset));
    7676
    77     framebuffer.QuadPart = VBE_DISPI_LFB_PHYSICAL_ADDRESS + pExt->ulFrameBufferOffset;
     77    framebuffer.QuadPart = pExt->u.primary.physLFBBase.QuadPart + pExt->ulFrameBufferOffset;
    7878
    7979    pMapInfo->VideoRamBase = pRequestedAddress->RequestedVirtualAddress;
     
    145145    }
    146146
    147     shareAddress.QuadPart = VBE_DISPI_LFB_PHYSICAL_ADDRESS + pExt->ulFrameBufferOffset;
     147    shareAddress.QuadPart = pExt->u.primary.physLFBBase.QuadPart + pExt->ulFrameBufferOffset;
    148148
    149149    pStatus->Status = VideoPortMapMemory(pExt, shareAddress, &size, &inIoSpace, &virtualAddress);
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