Changeset 23801 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Oct 15, 2009 3:00:47 PM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 53543
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/CPUM.cpp
r23800 r23801 73 73 #define CPUM_SAVED_STATE_VERSION 10 74 74 #endif 75 /** The saved state version of 3.0 and 3.1 trunk before the live migration75 /** The saved state version of 3.0 and 3.1 trunk before the teleportation 76 76 * changes. */ 77 77 #define CPUM_SAVED_STATE_VERSION_VER3_0 10 … … 392 392 //| X86_CPUID_AMD_FEATURE_ECX_SVM - not virtualized. 393 393 //| X86_CPUID_AMD_FEATURE_ECX_EXT_APIC 394 /* * Note: This could prevent migrationfrom AMD to Intel CPUs! */394 /* Note: This could prevent teleporting from AMD to Intel CPUs! */ 395 395 | X86_CPUID_AMD_FEATURE_ECX_CR8L /* expose lock mov cr0 = mov cr8 hack for guests that can use this feature to access the TPR. */ 396 396 //| X86_CPUID_AMD_FEATURE_ECX_ABM -
trunk/src/VBox/VMM/PGMSavedState.cpp
r23565 r23801 49 49 /** Saved state data unit version. */ 50 50 #define PGM_SAVED_STATE_VERSION 10 51 /** Saved state data unit version for 3.0 . (pre live migration)*/51 /** Saved state data unit version for 3.0 (pre teleportation). */ 52 52 #define PGM_SAVED_STATE_VERSION_3_0_0 9 53 53 /** Saved state data unit version for 2.2.2 and later. */ -
trunk/src/VBox/VMM/SSM.cpp
r23785 r23801 5 5 6 6 /* 7 * Copyright (C) 2006-200 7Sun Microsystems, Inc.7 * Copyright (C) 2006-2009 Sun Microsystems, Inc. 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 42 42 * @section sec_ssm_live_snapshots Live Snapshots 43 43 * 44 * The live snapshots feature (LS) is similar to live migration (LM) and was a45 * natural first step when implementing LM. The main differences between LS and46 * LMare that after a live snapshot we will have a saved state file, disk image44 * The live snapshots feature (LS) is similar to teleportation (TP) and was a 45 * natural first step when implementing TP. The main differences between LS and 46 * TP are that after a live snapshot we will have a saved state file, disk image 47 47 * snapshots, and the VM will still be running. 48 48 * … … 56 56 * pass is done on EMT(0). 57 57 * 58 * There are a couple of common reasons why LS and LMwill fail:58 * There are a couple of common reasons why LS and TP will fail: 59 59 * - Memory configuration changed (PCI memory mappings). 60 * - Takes too long ( LM) / Too much output (LS).60 * - Takes too long (TP) / Too much output (LS). 61 61 * 62 62 * … … 76 76 * 77 77 * 78 * @section sec_ssm_ live_migration Live Migration78 * @section sec_ssm_teleportation Teleportation 79 79 * 80 80 * As mentioned in the previous section, the main differences between this and … … 85 85 * transfer - is taken care of by layer above the VMM (i.e. Main). 86 86 * 87 * The SSM data format was made streamable for the purpose of live migration87 * The SSM data format was made streamable for the purpose of teleportation 88 88 * (v1.2 was the last non-streamable version). 89 89 * … … 4024 4024 AssertMsgReturn( pSSM->enmAfter == SSMAFTER_DESTROY 4025 4025 || pSSM->enmAfter == SSMAFTER_CONTINUE 4026 || pSSM->enmAfter == SSMAFTER_ MIGRATE,4026 || pSSM->enmAfter == SSMAFTER_TELEPORT, 4027 4027 ("%d\n", pSSM->enmAfter), 4028 4028 VERR_INVALID_PARAMETER); … … 4467 4467 AssertMsgReturn( pSSM->enmAfter == SSMAFTER_DESTROY 4468 4468 || pSSM->enmAfter == SSMAFTER_CONTINUE 4469 || pSSM->enmAfter == SSMAFTER_ MIGRATE,4469 || pSSM->enmAfter == SSMAFTER_TELEPORT, 4470 4470 ("%d\n", pSSM->enmAfter), 4471 4471 VERR_INVALID_PARAMETER); … … 4872 4872 AssertMsgReturn( pSSM->enmAfter == SSMAFTER_DESTROY 4873 4873 || pSSM->enmAfter == SSMAFTER_CONTINUE 4874 || pSSM->enmAfter == SSMAFTER_ MIGRATE,4874 || pSSM->enmAfter == SSMAFTER_TELEPORT, 4875 4875 ("%d\n", pSSM->enmAfter), 4876 4876 VERR_INVALID_PARAMETER); … … 5073 5073 AssertMsgReturn( enmAfter == SSMAFTER_DESTROY 5074 5074 || enmAfter == SSMAFTER_CONTINUE 5075 || enmAfter == SSMAFTER_ MIGRATE,5075 || enmAfter == SSMAFTER_TELEPORT, 5076 5076 ("%d\n", enmAfter), 5077 5077 VERR_INVALID_PARAMETER); … … 7822 7822 */ 7823 7823 AssertMsgReturn( enmAfter == SSMAFTER_RESUME 7824 || enmAfter == SSMAFTER_ MIGRATE7824 || enmAfter == SSMAFTER_TELEPORT 7825 7825 || enmAfter == SSMAFTER_DEBUG_IT, 7826 7826 ("%d\n", enmAfter), -
trunk/src/VBox/VMM/VM.cpp
r23668 r23801 1381 1381 1382 1382 /** 1383 * EMT rendezvous worker for VMR3Save and VMR3 Migrate that suspends the VM after1384 * the live step has been completed.1383 * EMT rendezvous worker for VMR3Save and VMR3Teleport that suspends the VM 1384 * after the live step has been completed. 1385 1385 * 1386 1386 * @returns VERR_VM_INVALID_VM_STATE or VINF_EM_RESUME. (This is a strict … … 1476 1476 1477 1477 /** 1478 * EMT rendezvous worker that VMR3Save and VMR3 Migrateuses to clean up a1478 * EMT rendezvous worker that VMR3Save and VMR3Teleport uses to clean up a 1479 1479 * SSMR3LiveDoStep1 failure. 1480 1480 * … … 1514 1514 1515 1515 /** 1516 * EMT(0) worker for VMR3Save and VMR3 Migratethat completes the live save.1516 * EMT(0) worker for VMR3Save and VMR3Teleport that completes the live save. 1517 1517 * 1518 1518 * @returns VBox status code. … … 1562 1562 1563 1563 /** 1564 * Worker for vmR3Save Migratethat validates the state and calls SSMR3Save or1564 * Worker for vmR3SaveTeleport that validates the state and calls SSMR3Save or 1565 1565 * SSMR3LiveSave. 1566 1566 * … … 1592 1592 Assert( enmAfter == SSMAFTER_DESTROY 1593 1593 || enmAfter == SSMAFTER_CONTINUE 1594 || enmAfter == SSMAFTER_ MIGRATE);1594 || enmAfter == SSMAFTER_TELEPORT); 1595 1595 AssertPtr(ppSSM); 1596 1596 *ppSSM = NULL; … … 1620 1620 1621 1621 /** 1622 * Commmon worker for VMR3Save and VMR3 Migrate.1622 * Commmon worker for VMR3Save and VMR3Teleport. 1623 1623 * 1624 1624 * @returns VBox status code. … … 1634 1634 * @thread Non-EMT 1635 1635 */ 1636 static int vmR3Save Migrate(PVM pVM, const char *pszFilename, PCSSMSTRMOPS pStreamOps, void *pvStreamOpsUser,1637 SSMAFTER enmAfter, PFNVMPROGRESS pfnProgress, void *pvProgressUser)1636 static int vmR3SaveTeleport(PVM pVM, const char *pszFilename, PCSSMSTRMOPS pStreamOps, void *pvStreamOpsUser, 1637 SSMAFTER enmAfter, PFNVMPROGRESS pfnProgress, void *pvProgressUser) 1638 1638 { 1639 1639 /* … … 1727 1727 1728 1728 /* 1729 * Join paths with VMR3 Migrate.1729 * Join paths with VMR3Teleport. 1730 1730 */ 1731 1731 SSMAFTER enmAfter = fContinueAfterwards ? SSMAFTER_CONTINUE : SSMAFTER_DESTROY; 1732 int rc = vmR3Save Migrate(pVM, pszFilename, NULL /*pStreamOps*/, NULL /*pvStreamOpsUser*/,1733 enmAfter, pfnProgress, pvUser);1732 int rc = vmR3SaveTeleport(pVM, pszFilename, NULL /*pStreamOps*/, NULL /*pvStreamOpsUser*/, 1733 enmAfter, pfnProgress, pvUser); 1734 1734 LogFlow(("VMR3Save: returns %Rrc\n", rc)); 1735 1735 return rc; … … 1738 1738 1739 1739 /** 1740 * Migrate the VM.1740 * Teleport the VM (aka live migration). 1741 1741 * 1742 1742 * @returns VBox status code. … … 1753 1753 * RunningLS+SuspeningLS+SuspendedLS+Saving+Suspended. 1754 1754 */ 1755 VMMR3DECL(int) VMR3 Migrate(PVM pVM, PCSSMSTRMOPS pStreamOps, void *pvStreamOpsUser, PFNVMPROGRESS pfnProgress, void *pvProgressUser)1756 { 1757 LogFlow(("VMR3 Migrate: pVM=%p pStreamOps=%p pvStreamOps=%p pfnProgress=%p pvProgressUser=%p\n",1755 VMMR3DECL(int) VMR3Teleport(PVM pVM, PCSSMSTRMOPS pStreamOps, void *pvStreamOpsUser, PFNVMPROGRESS pfnProgress, void *pvProgressUser) 1756 { 1757 LogFlow(("VMR3Teleport: pVM=%p pStreamOps=%p pvStreamOps=%p pfnProgress=%p pvProgressUser=%p\n", 1758 1758 pVM, pStreamOps, pvStreamOpsUser, pfnProgress, pvProgressUser)); 1759 1759 … … 1769 1769 * Join paths with VMR3Save. 1770 1770 */ 1771 int rc = vmR3Save Migrate(pVM, NULL /*pszFilename*/, pStreamOps, pvStreamOpsUser,1772 SSMAFTER_MIGRATE, pfnProgress, pvProgressUser);1773 LogFlow(("VMR3 Migrate: returns %Rrc\n", rc));1771 int rc = vmR3SaveTeleport(pVM, NULL /*pszFilename*/, pStreamOps, pvStreamOpsUser, 1772 SSMAFTER_TELEPORT, pfnProgress, pvProgressUser); 1773 LogFlow(("VMR3Teleport: returns %Rrc\n", rc)); 1774 1774 return rc; 1775 1775 } -
trunk/src/VBox/VMM/VMM.cpp
r23730 r23801 101 101 /** The saved state version. */ 102 102 #define VMM_SAVED_STATE_VERSION 4 103 /** The saved state version used by v3.0 and earlier. ( Live migration.) */103 /** The saved state version used by v3.0 and earlier. (Teleportation) */ 104 104 #define VMM_SAVED_STATE_VERSION_3_0 3 105 105
Note:
See TracChangeset
for help on using the changeset viewer.