Changeset 55493 in vbox for trunk/src/VBox/Devices/Graphics
- Timestamp:
- Apr 28, 2015 4:51:35 PM (10 years ago)
- Location:
- trunk/src/VBox/Devices/Graphics
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Graphics/DevVGA-SVGA.cpp
r54659 r55493 1936 1936 for (uint32_t i = 0; i < pGMR->numDescriptors; i++) 1937 1937 { 1938 rc = PGMR3HandlerPhysicalRegister(PDMDevHlpGetVM(pThis->pDevInsR3), 1939 PGMPHYSHANDLERTYPE_PHYSICAL_WRITE, 1940 pGMR->paDesc[i].GCPhys, pGMR->paDesc[i].GCPhys + pGMR->paDesc[i].numPages * PAGE_SIZE - 1, 1941 vmsvgaR3GMRAccessHandler, pThis, 1942 NULL, NULL, NULL, 1943 NULL, NULL, NULL, 1944 "VMSVGA GMR"); 1938 rc = PGMHandlerPhysicalRegister(PDMDevHlpGetVM(pThis->pDevInsR3), 1939 pGMR->paDesc[i].GCPhys, pGMR->paDesc[i].GCPhys + pGMR->paDesc[i].numPages * PAGE_SIZE - 1, 1940 pThis->svga.hGmrAccessHandlerType, pThis, NIL_RTR0PTR, NIL_RTRCPTR, "VMSVGA GMR"); 1945 1941 AssertRC(rc); 1946 1942 } … … 1949 1945 1950 1946 /* Callback handler for VMR3ReqCallWait */ 1951 static DECLCALLBACK(int) vmsvga UnregisterGMR(PPDMDEVINS pDevIns, uint32_t gmrId)1947 static DECLCALLBACK(int) vmsvgaDeregisterGMR(PPDMDEVINS pDevIns, uint32_t gmrId) 1952 1948 { 1953 1949 PVGASTATE pThis = PDMINS_2_DATA(pDevIns, PVGASTATE); … … 3245 3241 PGMR pGMR = &pSVGAState->aGMR[idGMR]; 3246 3242 # ifdef DEBUG_GMR_ACCESS 3247 VMR3ReqCallWait(PDMDevHlpGetVM(pThis->pDevInsR3), VMCPUID_ANY, (PFNRT)vmsvga UnregisterGMR, 2, pThis->pDevInsR3, idGMR);3243 VMR3ReqCallWait(PDMDevHlpGetVM(pThis->pDevInsR3), VMCPUID_ANY, (PFNRT)vmsvgaDeregisterGMR, 2, pThis->pDevInsR3, idGMR); 3248 3244 # endif 3249 3245 … … 3523 3519 if (RT_SUCCESS(rc)) 3524 3520 { 3525 rc = PGMR3HandlerPhysicalRegister(PDMDevHlpGetVM(pDevIns), 3526 PGMPHYSHANDLERTYPE_PHYSICAL_ALL, 3527 GCPhysAddress, GCPhysAddress + (VMSVGA_FIFO_SIZE - 1), 3528 vmsvgaR3FIFOAccessHandler, pThis, 3529 NULL, NULL, NULL, 3530 NULL, NULL, NULL, 3531 "VMSVGA FIFO"); 3521 rc = PGMHandlerPhysicalRegister(PDMDevHlpGetVM(pDevIns), GCPhysAddress, GCPhysAddress + (VMSVGA_FIFO_SIZE - 1), 3522 pThis->svga.hFifoAccessHandlerType, pThis, NIL_RTR0PTR, NIL_RTRCPTR, 3523 "VMSVGA FIFO"); 3532 3524 AssertRC(rc); 3533 3525 } … … 3930 3922 } 3931 3923 Log(("VMSVGA: Maximum size (%d,%d)\n", pThis->svga.u32MaxWidth, pThis->svga.u32MaxHeight)); 3924 3925 # ifdef DEBUG_GMR_ACCESS 3926 /* Register the GMR access handler type. */ 3927 rc = PGMR3HandlerPhysicalTypeRegister(PDMDevHlpGetVM(pThis->pDevInsR3), PGMPHYSHANDLERKIND_WRITE, 3928 vmsvgaR3GMRAccessHandler, NULL, NULL, NULL, NULL, "VMSVGA GMR", 3929 &pThis->svga.hGmrAccessHandlerType); 3930 AssertRCReturn(rc, rc); 3931 # endif 3932 # ifdef DEBUG_FIFO_ACCESS 3933 rc = PGMR3HandlerPhysicalTypeRegister(PDMDevHlpGetVM(pThis->pDevInsR3), PGMPHYSHANDLERKIND_ALL, 3934 vmsvgaR3FIFOAccessHandler, NULL, NULL, NULL, NULL, "VMSVGA FIFO", 3935 &pThis->svga.hFifoAccessHandlerType); 3936 AssertRCReturn(rc, rc); 3937 #endif 3932 3938 3933 3939 /* Create the async IO thread. */ -
trunk/src/VBox/Devices/Graphics/DevVGA.cpp
r55341 r55493 5286 5286 { 5287 5287 PPDMDEVINS pDevIns = pVGAState->pDevInsR3; 5288 5289 5288 Assert(pVGAState->GCPhysVRAM); 5290 5289 5291 int rc = PGMR3HandlerPhysicalRegister(PDMDevHlpGetVM(pDevIns), 5292 PGMPHYSHANDLERTYPE_PHYSICAL_WRITE, 5293 pVGAState->GCPhysVRAM, pVGAState->GCPhysVRAM + (cbFrameBuffer - 1), 5294 vgaR3LFBAccessHandler, pVGAState, 5295 g_DeviceVga.szR0Mod, "vgaR0LFBAccessHandler", pDevIns->pvInstanceDataR0, 5296 g_DeviceVga.szRCMod, "vgaGCLFBAccessHandler", pDevIns->pvInstanceDataRC, 5297 "VGA LFB"); 5290 int rc = PGMHandlerPhysicalRegister(PDMDevHlpGetVM(pDevIns), 5291 pVGAState->GCPhysVRAM, pVGAState->GCPhysVRAM + (cbFrameBuffer - 1), 5292 pVGAState->hLfbAccessHandlerType, pVGAState, pDevIns->pvInstanceDataR0, 5293 pDevIns->pvInstanceDataRC, "VGA LFB"); 5294 5298 5295 AssertRC(rc); 5299 5296 return rc; … … 5348 5345 if (RT_SUCCESS(rc)) 5349 5346 { 5350 rc = PGMR3HandlerPhysicalRegister(PDMDevHlpGetVM(pDevIns), 5351 PGMPHYSHANDLERTYPE_PHYSICAL_WRITE, 5352 GCPhysAddress, GCPhysAddress + (pThis->vram_size - 1), 5353 vgaR3LFBAccessHandler, pThis, 5354 g_DeviceVga.szR0Mod, "vgaR0LFBAccessHandler", pDevIns->pvInstanceDataR0, 5355 g_DeviceVga.szRCMod, "vgaRCLFBAccessHandler", pDevIns->pvInstanceDataRC, 5356 "VGA LFB"); 5347 rc = PGMHandlerPhysicalRegister(PDMDevHlpGetVM(pDevIns), GCPhysAddress, GCPhysAddress + (pThis->vram_size - 1), 5348 pThis->hLfbAccessHandlerType, pThis, pDevIns->pvInstanceDataR0, 5349 pDevIns->pvInstanceDataRC, "VGA LFB"); 5357 5350 AssertRC(rc); 5358 5351 if (RT_SUCCESS(rc)) … … 6152 6145 6153 6146 /* 6147 * Register access handler types. 6148 */ 6149 rc = PGMR3HandlerPhysicalTypeRegister(pVM, PGMPHYSHANDLERKIND_WRITE, 6150 vgaR3LFBAccessHandler, 6151 g_DeviceVga.szR0Mod, "vgaR0LFBAccessHandler", 6152 g_DeviceVga.szRCMod, "vgaRCLFBAccessHandler", 6153 "VGA LFB", &pThis->hLfbAccessHandlerType); 6154 AssertRCReturn(rc, rc); 6155 6156 6157 /* 6154 6158 * Register I/O ports. 6155 6159 */ -
trunk/src/VBox/Devices/Graphics/DevVGA.h
r55303 r55493 315 315 uint8_t u8FIFOExtCommand; 316 316 bool Padding6; 317 # if defined(DEBUG_GMR_ACCESS) || defined(DEBUG_FIFO_ACCESS) 318 /** GMR debug access handler type handle. */ 319 PGMPHYSHANDLERTYPE hGmrAccessHandlerType; 320 /** FIFO debug access handler type handle. */ 321 PGMPHYSHANDLERTYPE hFifoAccessHandlerType; 322 # endif 317 323 } VMSVGAState; 318 324 #endif /* VBOX_WITH_VMSVGA */ … … 453 459 /* Whether the SVGA emulation is enabled or not. */ 454 460 bool fVMSVGAEnabled; 455 bool Padding1[1 ];461 bool Padding1[1+4]; 456 462 #else 457 bool Padding1[2 ];463 bool Padding1[2+4]; 458 464 #endif 465 466 /** Physical access type for the linear frame buffer dirty page tracking. */ 467 PGMPHYSHANDLERTYPE hLfbAccessHandlerType; 459 468 460 469 /** The physical address the VRAM was assigned. */ -
trunk/src/VBox/Devices/Graphics/DevVGA_VDMA.cpp
r55401 r55493 17 17 #include <VBox/VMMDev.h> 18 18 #include <VBox/vmm/pdmdev.h> 19 #include <VBox/vmm/pgm.h> 19 20 #include <VBox/VBoxVideo.h> 20 21 #include <iprt/semaphore.h>
Note:
See TracChangeset
for help on using the changeset viewer.