Changeset 8690 in vbox for trunk/src/VBox/Devices/VMMDev/VBoxDev.cpp
- Timestamp:
- May 7, 2008 11:00:06 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/VMMDev/VBoxDev.cpp
r8689 r8690 1995 1995 static DECLCALLBACK(int) vmmdevLoadState(PPDMDEVINS pDevIns, PSSMHANDLE pSSMHandle, uint32_t u32Version) 1996 1996 { 1997 /** @todo The code load code is assuming we're always loaded into a fresh VM. */ 1997 1998 VMMDevState *pData = PDMINS2DATA(pDevIns, VMMDevState*); 1998 1999 if ( SSM_VERSION_MAJOR_CHANGED(u32Version, VMMDEV_SSM_VERSION) 1999 2000 || (SSM_VERSION_MINOR(u32Version) < 6)) 2000 2001 return VERR_SSM_UNSUPPORTED_DATA_UNIT_VERSION; 2002 2001 2003 SSMR3GetU32(pSSMHandle, &pData->hypervisorSize); 2002 2004 SSMR3GetU32(pSSMHandle, &pData->mouseCapabilities); … … 2296 2298 { 2297 2299 VMMDevState *pData = PDMINS2DATA(pDevIns, VMMDevState*); 2300 2298 2301 /* 2299 2302 * Reset the mouse integration feature bit … … 2327 2330 2328 2331 /* Reset means that additions will report again. */ 2332 const bool fVersionChanged = pData->fu32AdditionsOk 2333 || pData->guestInfo.additionsVersion 2334 || pData->guestInfo.osType != VBOXOSTYPE_Unknown; 2335 if (fVersionChanged) 2336 Log(("vmmdevReset: fu32AdditionsOk=%d additionsVersion=%x osType=%#x\n", 2337 pData->fu32AdditionsOk, pData->guestInfo.additionsVersion, pData->guestInfo.osType)); 2329 2338 pData->fu32AdditionsOk = false; 2330 2339 memset (&pData->guestInfo, 0, sizeof (pData->guestInfo)); 2331 pData->pDrv->pfnUpdateGuestVersion(pData->pDrv, &pData->guestInfo); 2332 2340 2341 /* clear pending display change request. */ 2333 2342 memset (&pData->lastReadDisplayChangeRequest, 0, sizeof (pData->lastReadDisplayChangeRequest)); 2334 2343 … … 2342 2351 pData->u32LastStatIntervalSize = 0; 2343 2352 2344 /* Clear the event variables. 2353 /* 2354 * Clear the event variables. 2345 2355 * 2346 2356 * Note: The pData->u32HostEventFlags is not cleared. … … 2352 2362 pData->fNewGuestFilterMask = 0; 2353 2363 2354 /* This is the default, as Windows and OS/2 guests take this for granted. */2364 /* This is the default, as Windows and OS/2 guests take this for granted. (Actually, neither does...) */ 2355 2365 /** @todo change this when we next bump the interface version */ 2356 pData->guestCaps = VMMDEV_GUEST_SUPPORTS_GRAPHICS; 2357 pData->pDrv->pfnUpdateGuestCapabilities(pData->pDrv, pData->guestCaps); 2366 const bool fCapsChanged = pData->guestCaps != VMMDEV_GUEST_SUPPORTS_GRAPHICS; 2367 if (fCapsChanged) 2368 Log(("vmmdevReset: fCapsChanged=%#x -> %#x\n", pData->guestCaps, VMMDEV_GUEST_SUPPORTS_GRAPHICS)); 2369 pData->guestCaps = VMMDEV_GUEST_SUPPORTS_GRAPHICS; /** @todo r=bird: why? I cannot see this being done at construction?*/ 2370 2371 /* 2372 * Call the update functions as required. 2373 */ 2374 if (fVersionChanged) 2375 pData->pDrv->pfnUpdateGuestVersion(pData->pDrv, &pData->guestInfo); 2376 if (fCapsChanged) 2377 pData->pDrv->pfnUpdateGuestCapabilities(pData->pDrv, pData->guestCaps); 2358 2378 } 2359 2379
Note:
See TracChangeset
for help on using the changeset viewer.