VirtualBox

Ignore:
Timestamp:
Jan 14, 2017 8:11:22 PM (8 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
112868
Message:

VMSVGA: Made the FIFO size configurable (still using the 128KB default).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Graphics/DevVGA.cpp

    r65294 r65298  
    60916091#ifdef VBOX_WITH_VMSVGA
    60926092                                          "VMSVGAEnabled\0"
     6093                                          "VMSVGAFifoSize\0"
    60936094#endif
    60946095#ifdef VBOX_WITH_VMSVGA3D
     
    61306131    AssertLogRelRCReturn(rc, rc);
    61316132    Log(("VMSVGA: VMSVGAEnabled   = %d\n", pThis->fVMSVGAEnabled));
     6133
     6134    rc = CFGMR3QueryU32Def(pCfg, "VMSVGAFifoSize", &pThis->svga.cbFIFO, VMSVGA_FIFO_SIZE);
     6135    AssertLogRelRCReturn(rc, rc);
     6136    AssertLogRelMsgReturn(pThis->svga.cbFIFO >= _128K, ("cbFIFO=%#x\n", pThis->svga.cbFIFO), VERR_OUT_OF_RANGE);
     6137    AssertLogRelMsgReturn(pThis->svga.cbFIFO <=  _16M, ("cbFIFO=%#x\n", pThis->svga.cbFIFO), VERR_OUT_OF_RANGE);
     6138    AssertLogRelMsgReturn(RT_IS_POWER_OF_TWO(pThis->svga.cbFIFO), ("cbFIFO=%#x\n", pThis->svga.cbFIFO), VERR_NOT_POWER_OF_TWO);
     6139    Log(("VMSVGA: VMSVGAFifoSize  = %#x (%'u)\n", pThis->svga.cbFIFO, pThis->svga.cbFIFO));
    61326140#endif
    61336141#ifdef VBOX_WITH_VMSVGA3D
     
    62476255        if (RT_FAILURE(rc))
    62486256            return rc;
    6249         rc = PDMDevHlpPCIIORegionRegister(pDevIns, 2 /* iRegion */, VMSVGA_FIFO_SIZE,
     6257        rc = PDMDevHlpPCIIORegionRegister(pDevIns, 2 /* iRegion */, pThis->svga.cbFIFO,
    62506258                                          PCI_ADDRESS_SPACE_MEM /* PCI_ADDRESS_SPACE_MEM_PREFETCH */, vmsvgaR3IORegionMap);
    62516259        if (RT_FAILURE(rc))
     
    62776285         * Allocate and initialize the FIFO MMIO2 memory.
    62786286         */
    6279         rc = PDMDevHlpMMIO2Register(pDevIns, &pThis->Dev, 2 /*iRegion*/, VMSVGA_FIFO_SIZE,
     6287        rc = PDMDevHlpMMIO2Register(pDevIns, &pThis->Dev, 2 /*iRegion*/, pThis->svga.cbFIFO,
    62806288                                    0 /*fFlags*/, (void **)&pThis->svga.pFIFOR3, "VMSVGA-FIFO");
    62816289        if (RT_FAILURE(rc))
    62826290            return PDMDevHlpVMSetError(pDevIns, rc, RT_SRC_POS,
    6283                                         N_("Failed to allocate %u bytes of memory for the VMSVGA device"), VMSVGA_FIFO_SIZE);
     6291                                        N_("Failed to allocate %u bytes of memory for the VMSVGA device"), pThis->svga.cbFIFO);
    62846292        pThis->svga.pFIFOR0 = (RTR0PTR)pThis->svga.pFIFOR3;
    6285         pThis->svga.cbFIFO  = VMSVGA_FIFO_SIZE;
    62866293    }
    62876294#else
     
    63156322        {
    63166323            RTR0PTR pR0Mapping = 0;
    6317             rc = PDMDevHlpMMIO2MapKernel(pDevIns, 2 /* iRegion */, 0 /* off */,  VMSVGA_FIFO_SIZE, "VMSVGA-FIFO", &pR0Mapping);
    6318             AssertLogRelMsgRCReturn(rc, ("PDMDevHlpMapMMIO2IntoR0(%#x,) -> %Rrc\n", VMSVGA_FIFO_SIZE, rc), rc);
     6324            rc = PDMDevHlpMMIO2MapKernel(pDevIns, 2 /* iRegion */, 0 /* off */,  pThis->svga.cbFIFO, "VMSVGA-FIFO", &pR0Mapping);
     6325            AssertLogRelMsgRCReturn(rc, ("PDMDevHlpMapMMIO2IntoR0(%#x,) -> %Rrc\n", pThis->svga.cbFIFO, rc), rc);
    63196326            pThis->svga.pFIFOR0 = pR0Mapping;
    63206327        }
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