Changeset 29462 in vbox
- Timestamp:
- May 14, 2010 11:27:59 AM (14 years ago)
- Location:
- trunk/src/VBox/Main
- Files:
-
- 3 edited
-
MachineImpl.cpp (modified) (4 diffs)
-
include/MachineImpl.h (modified) (1 diff)
-
xml/Settings.cpp (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/MachineImpl.cpp
r29422 r29462 162 162 mCPUHotPlugEnabled = false; 163 163 mMemoryBalloonSize = 0; 164 mPageFusionEnabled = false; 164 165 mVRAMSize = 8; 165 166 mAccelerate3DEnabled = false; … … 1465 1466 STDMETHODIMP Machine::COMGETTER(PageFusionEnabled) (BOOL *enabled) 1466 1467 { 1468 if (!enabled) 1469 return E_POINTER; 1470 1471 AutoCaller autoCaller(this); 1472 if (FAILED(autoCaller.rc())) return autoCaller.rc(); 1473 1474 AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS); 1475 1476 *enabled = mHWData->mPageFusionEnabled; 1477 return S_OK; 1478 } 1479 1480 STDMETHODIMP Machine::COMSETTER(PageFusionEnabled) (BOOL enabled) 1481 { 1482 /* This must match GMMR0Init; currently we only support memory ballooning on all 64-bit hosts except Mac OS X */ 1483 #if HC_ARCH_BITS == 64 && (defined(RT_OS_WINDOWS) || defined(RT_OS_SOLARIS) || defined(RT_OS_LINUX) || defined(RT_OS_FREEBSD)) 1484 AutoCaller autoCaller(this); 1485 if (FAILED(autoCaller.rc())) return autoCaller.rc(); 1486 1487 AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS); 1488 1489 setModified(IsModified_MachineData); 1490 mHWData.backup(); 1491 mHWData->mPageFusionEnabled = enabled; 1492 return S_OK; 1493 #else 1467 1494 NOREF(enabled); 1468 return E_NOTIMPL; 1469 } 1470 1471 STDMETHODIMP Machine::COMSETTER(PageFusionEnabled) (BOOL enabled) 1472 { 1473 NOREF(enabled); 1474 return E_NOTIMPL; 1495 return setError(E_NOTIMPL, tr("Page fusion is only supported on 64-bit hosts")); 1496 #endif 1475 1497 } 1476 1498 … … 6769 6791 6770 6792 mHWData->mMemorySize = data.ulMemorySizeMB; 6793 mHWData->mPageFusionEnabled = data.fPageFusionEnabled; 6771 6794 6772 6795 // boot order … … 7827 7850 // memory 7828 7851 data.ulMemorySizeMB = mHWData->mMemorySize; 7852 data.fPageFusionEnabled = mHWData->mPageFusionEnabled; 7829 7853 7830 7854 // firmware -
trunk/src/VBox/Main/include/MachineImpl.h
r29385 r29462 259 259 ULONG mMemorySize; 260 260 ULONG mMemoryBalloonSize; 261 BOOL mPageFusionEnabled; 261 262 ULONG mVRAMSize; 262 263 ULONG mMonitorCount; -
trunk/src/VBox/Main/xml/Settings.cpp
r29386 r29462 1491 1491 keyboardHidType(KeyboardHidType_PS2Keyboard), 1492 1492 clipboardMode(ClipboardMode_Bidirectional), 1493 ulMemoryBalloonSize(0) 1493 ulMemoryBalloonSize(0), 1494 fPageFusionEnabled(false) 1494 1495 { 1495 1496 mapBootOrder[0] = DeviceType_Floppy; … … 1547 1548 && (clipboardMode == h.clipboardMode) 1548 1549 && (ulMemoryBalloonSize == h.ulMemoryBalloonSize) 1550 && (fPageFusionEnabled == h.fPageFusionEnabled) 1549 1551 && (llGuestProperties == h.llGuestProperties) 1550 1552 && (strNotificationPatterns == h.strNotificationPatterns) … … 2173 2175 } 2174 2176 else if (pelmHwChild->nameEquals("Memory")) 2177 { 2175 2178 pelmHwChild->getAttributeValue("RAMSize", hw.ulMemorySizeMB); 2179 pelmHwChild->getAttributeValue("PageFusion", hw.fPageFusionEnabled); 2180 } 2176 2181 else if (pelmHwChild->nameEquals("Firmware")) 2177 2182 { … … 3129 3134 xml::ElementNode *pelmMemory = pelmHardware->createChild("Memory"); 3130 3135 pelmMemory->setAttribute("RAMSize", hw.ulMemorySizeMB); 3136 if (m->sv >= SettingsVersion_v1_10) 3137 { 3138 pelmMemory->setAttribute("PageFusion", hw.fPageFusionEnabled); 3139 } 3131 3140 3132 3141 if ( (m->sv >= SettingsVersion_v1_9)
Note:
See TracChangeset
for help on using the changeset viewer.

