- Timestamp:
- Oct 21, 2022 8:10:15 AM (3 years ago)
- svn:sync-xref-src-repo-rev:
- 154248
- Location:
- trunk/src/VBox
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/HostDrivers/Support/SUPDrv.cpp
r96811 r97262 4855 4855 if (Msrs.u.vmx.ProcCtls.n.allowed1 & VMX_PROC_CTLS_USE_TERTIARY_CTLS) 4856 4856 Msrs.u.vmx.u64ProcCtls3 = ASMRdMsr(MSR_IA32_VMX_PROCBASED_CTLS3); 4857 4858 if (Msrs.u.vmx.ExitCtls.n.allowed1 & VMX_EXIT_CTLS_USE_SECONDARY_CTLS) 4859 Msrs.u.vmx.u64ExitCtls2 = ASMRdMsr(MSR_IA32_VMX_EXIT_CTLS2); 4857 4860 } 4858 4861 else if (fCaps & SUPVTCAPS_AMD_V) -
trunk/src/VBox/HostDrivers/Support/SUPDrvIOC.h
r96811 r97262 233 233 * - nothing 234 234 */ 235 #define SUPDRV_IOC_VERSION 0x0033000 3235 #define SUPDRV_IOC_VERSION 0x00330004 236 236 237 237 /** SUP_IOCTL_COOKIE. */ -
trunk/src/VBox/HostDrivers/Support/SUPLib.cpp
r96811 r97262 299 299 CookieReq.u.In.u32ReqVersion = SUPDRV_IOC_VERSION; 300 300 const uint32_t uMinVersion = (SUPDRV_IOC_VERSION & 0xffff0000) == 0x00330000 301 ? 0x0033000 3301 ? 0x00330004 302 302 : SUPDRV_IOC_VERSION & 0xffff0000; 303 303 CookieReq.u.In.u32MinVersion = uMinVersion; -
trunk/src/VBox/VMM/VMMAll/CPUMAllCpuId.cpp
r97070 r97262 1353 1353 pFeatures->fVmxExitLoadEferMsr = RT_BOOL(fExitCtls & VMX_EXIT_CTLS_LOAD_EFER_MSR); 1354 1354 pFeatures->fVmxSavePreemptTimer = RT_BOOL(fExitCtls & VMX_EXIT_CTLS_SAVE_PREEMPT_TIMER); 1355 pFeatures->fVmxExitCtls2 = RT_BOOL(fExitCtls & VMX_EXIT_CTLS_USE_SECONDARY_CTLS); 1355 1356 } 1356 1357 -
trunk/src/VBox/VMM/VMMAll/HMAll.cpp
r96407 r97262 849 849 pVmxMsrs->u64EptVpidCaps = pHwvirtMsrs->u.vmx.u64EptVpidCaps; 850 850 pVmxMsrs->u64ProcCtls3 = pHwvirtMsrs->u.vmx.u64ProcCtls3; 851 pVmxMsrs->u64ExitCtls2 = pHwvirtMsrs->u.vmx.u64ExitCtls2; 851 852 } 852 853 -
trunk/src/VBox/VMM/VMMAll/IEMAllCImplVmxInstr.cpp
r97222 r97262 214 214 /* 1 */ RT_UOFFSETOF(VMXVVMCS, u16PostIntNotifyVector), 215 215 /* 2 */ RT_UOFFSETOF(VMXVVMCS, u16EptpIndex), 216 /* 3-10 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 217 /* 11-18 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 218 /* 19-26 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 219 /* 27 */ UINT16_MAX, 216 /* 3 */ RT_UOFFSETOF(VMXVVMCS, u16HlatPrefixSize), 217 /* 4-11 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 218 /* 12-19 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 219 /* 20-27 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 220 /* 28-34 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX 220 221 }, 221 222 /* VMX_VMCSFIELD_WIDTH_16BIT | VMX_VMCSFIELD_TYPE_VMEXIT_INFO: */ … … 224 225 /* 8-15 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 225 226 /* 16-23 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 226 /* 24-27 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX 227 /* 24-31 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 228 /* 32-34 */ UINT16_MAX, UINT16_MAX, UINT16_MAX 227 229 }, 228 230 /* VMX_VMCSFIELD_WIDTH_16BIT | VMX_VMCSFIELD_TYPE_GUEST_STATE: */ … … 240 242 /* 10-17 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 241 243 /* 18-25 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 242 /* 26-27 */ UINT16_MAX, UINT16_MAX 244 /* 26-33 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 245 /* 34 */ UINT16_MAX 243 246 }, 244 247 /* VMX_VMCSFIELD_WIDTH_16BIT | VMX_VMCSFIELD_TYPE_HOST_STATE: */ … … 253 256 /* 7-14 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 254 257 /* 15-22 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 255 /* 23-27 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX 258 /* 23-30 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 259 /* 31-34 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX 256 260 }, 257 261 /* VMX_VMCSFIELD_WIDTH_64BIT | VMX_VMCSFIELD_TYPE_CONTROL: */ … … 284 288 /* 25 */ RT_UOFFSETOF(VMXVVMCS, u64TscMultiplier), 285 289 /* 26 */ RT_UOFFSETOF(VMXVVMCS, u64ProcCtls3), 286 /* 27 */ RT_UOFFSETOF(VMXVVMCS, u64EnclvExitBitmap) 290 /* 27 */ RT_UOFFSETOF(VMXVVMCS, u64EnclvExitBitmap), 291 /* 28 */ UINT16_MAX, 292 /* 29 */ UINT16_MAX, 293 /* 30 */ UINT16_MAX, 294 /* 31 */ RT_UOFFSETOF(VMXVVMCS, u64PconfigExitBitmap), 295 /* 32 */ RT_UOFFSETOF(VMXVVMCS, u64HlatPtr), 296 /* 33 */ UINT16_MAX, 297 /* 34 */ RT_UOFFSETOF(VMXVVMCS, u64ExitCtls2) 287 298 }, 288 299 /* VMX_VMCSFIELD_WIDTH_64BIT | VMX_VMCSFIELD_TYPE_VMEXIT_INFO: */ … … 292 303 /* 9-16 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 293 304 /* 17-24 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 294 /* 25-27 */ UINT16_MAX, UINT16_MAX, UINT16_MAX 305 /* 25-32 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 306 /* 33-34*/ UINT16_MAX, UINT16_MAX 295 307 }, 296 308 /* VMX_VMCSFIELD_WIDTH_64BIT | VMX_VMCSFIELD_TYPE_GUEST_STATE: */ … … 310 322 /* 12 */ RT_UOFFSETOF(VMXVVMCS, u64GuestPkrsMsr), 311 323 /* 13-20 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 312 /* 21-27 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX 324 /* 21-28 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 325 /* 29-34 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX 313 326 }, 314 327 /* VMX_VMCSFIELD_WIDTH_64BIT | VMX_VMCSFIELD_TYPE_HOST_STATE: */ … … 320 333 /* 4-11 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 321 334 /* 12-19 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 322 /* 20-27 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX 335 /* 20-27 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 336 /* 28-34 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX 323 337 }, 324 338 /* VMX_VMCSFIELD_WIDTH_32BIT | VMX_VMCSFIELD_TYPE_CONTROL: */ … … 343 357 /* 17 */ RT_UOFFSETOF(VMXVVMCS, u32PleWindow), 344 358 /* 18-25 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 345 /* 26-27 */ UINT16_MAX, UINT16_MAX 359 /* 26-33 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 360 /* 34 */ UINT16_MAX 346 361 }, 347 362 /* VMX_VMCSFIELD_WIDTH_32BIT | VMX_VMCSFIELD_TYPE_VMEXIT_INFO: */ … … 357 372 /* 8-15 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 358 373 /* 16-23 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 359 /* 24-27 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX 374 /* 24-31 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 375 /* 32-34 */ UINT16_MAX, UINT16_MAX, UINT16_MAX 360 376 }, 361 377 /* VMX_VMCSFIELD_WIDTH_32BIT | VMX_VMCSFIELD_TYPE_GUEST_STATE: */ … … 385 401 /* 22 */ UINT16_MAX, 386 402 /* 23 */ RT_UOFFSETOF(VMXVVMCS, u32PreemptTimer), 387 /* 24-27 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX 403 /* 24-31 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 404 /* 32-34 */ UINT16_MAX, UINT16_MAX, UINT16_MAX 388 405 }, 389 406 /* VMX_VMCSFIELD_WIDTH_32BIT | VMX_VMCSFIELD_TYPE_HOST_STATE: */ … … 393 410 /* 9-16 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 394 411 /* 17-24 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 395 /* 25-27 */ UINT16_MAX, UINT16_MAX, UINT16_MAX 412 /* 25-32 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 413 /* 33-34 */ UINT16_MAX, UINT16_MAX 396 414 }, 397 415 /* VMX_VMCSFIELD_WIDTH_NATURAL | VMX_VMCSFIELD_TYPE_CONTROL: */ … … 407 425 /* 8-15 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 408 426 /* 16-23 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 409 /* 24-27 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX 427 /* 24-27 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 428 /* 32-34 */ UINT16_MAX, UINT16_MAX, UINT16_MAX 410 429 }, 411 430 /* VMX_VMCSFIELD_WIDTH_NATURAL | VMX_VMCSFIELD_TYPE_VMEXIT_INFO: */ … … 419 438 /* 6-13 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 420 439 /* 14-21 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 421 /* 22-27 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX 440 /* 22-29 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 441 /* 30-34 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX 422 442 }, 423 443 /* VMX_VMCSFIELD_WIDTH_NATURAL | VMX_VMCSFIELD_TYPE_GUEST_STATE: */ … … 446 466 /* 21 */ RT_UOFFSETOF(VMXVVMCS, u64GuestSsp), 447 467 /* 22 */ RT_UOFFSETOF(VMXVVMCS, u64GuestIntrSspTableAddrMsr), 448 /* 23-27 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX 468 /* 23-27 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 469 /* 31-34 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX 449 470 }, 450 471 /* VMX_VMCSFIELD_WIDTH_NATURAL | VMX_VMCSFIELD_TYPE_HOST_STATE: */ … … 466 487 /* 14 */ RT_UOFFSETOF(VMXVVMCS, u64HostIntrSspTableAddrMsr), 467 488 /* 15-22 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 468 /* 23-27 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX 489 /* 23-30 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX, 490 /* 31-34 */ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX 469 491 } 470 492 }; -
trunk/src/VBox/VMM/VMMAll/VMXAllTemplate.cpp.h
r97248 r97262 328 328 VMX_VMCS16_POSTED_INT_NOTIFY_VECTOR, 329 329 VMX_VMCS16_EPTP_INDEX, 330 VMX_VMCS16_HLAT_PREFIX_SIZE, 330 331 331 332 /* 16-bit guest-state fields. */ … … 407 408 VMX_VMCS64_CTRL_ENCLV_EXITING_BITMAP_FULL, 408 409 VMX_VMCS64_CTRL_ENCLV_EXITING_BITMAP_HIGH, 410 VMX_VMCS64_CTRL_PCONFIG_EXITING_BITMAP_FULL, 411 VMX_VMCS64_CTRL_PCONFIG_EXITING_BITMAP_HIGH, 412 VMX_VMCS64_CTRL_HLAT_PTR_FULL, 413 VMX_VMCS64_CTRL_HLAT_PTR_HIGH, 414 VMX_VMCS64_CTRL_EXIT2_FULL, 415 VMX_VMCS64_CTRL_EXIT2_HIGH, 409 416 410 417 /* 64-bit read-only data fields. */ -
trunk/src/VBox/VMM/VMMR3/CPUM.cpp
r97231 r97262 386 386 SSMFIELD_ENTRY( VMXVVMCS, u16PostIntNotifyVector), 387 387 SSMFIELD_ENTRY( VMXVVMCS, u16EptpIndex), 388 SSMFIELD_ENTRY_VER( VMXVVMCS, u16HlatPrefixSize, CPUM_SAVED_STATE_VERSION_HWVIRT_VMX_3), 388 389 SSMFIELD_ENTRY_IGNORE(VMXVVMCS, au16Reserved0), 389 390 … … 436 437 SSMFIELD_ENTRY_VER( VMXVVMCS, u64ProcCtls3, CPUM_SAVED_STATE_VERSION_HWVIRT_VMX_2), 437 438 SSMFIELD_ENTRY_VER( VMXVVMCS, u64EnclvExitBitmap, CPUM_SAVED_STATE_VERSION_HWVIRT_VMX_2), 439 SSMFIELD_ENTRY_VER( VMXVVMCS, u64PconfigExitBitmap, CPUM_SAVED_STATE_VERSION_HWVIRT_VMX_3), 440 SSMFIELD_ENTRY_VER( VMXVVMCS, u64HlatPtr, CPUM_SAVED_STATE_VERSION_HWVIRT_VMX_3), 441 SSMFIELD_ENTRY_VER( VMXVVMCS, u64ExitCtls2, CPUM_SAVED_STATE_VERSION_HWVIRT_VMX_3), 438 442 SSMFIELD_ENTRY_IGNORE(VMXVVMCS, au64Reserved0), 439 443 … … 1453 1457 | (pGuestFeatures->fVmxExitSaveEferMsr << VMX_BF_EXIT_CTLS_SAVE_EFER_MSR_SHIFT ) 1454 1458 | (pGuestFeatures->fVmxExitLoadEferMsr << VMX_BF_EXIT_CTLS_LOAD_EFER_MSR_SHIFT ) 1455 | (pGuestFeatures->fVmxSavePreemptTimer << VMX_BF_EXIT_CTLS_SAVE_PREEMPT_TIMER_SHIFT ); 1459 | (pGuestFeatures->fVmxSavePreemptTimer << VMX_BF_EXIT_CTLS_SAVE_PREEMPT_TIMER_SHIFT ) 1460 | (pGuestFeatures->fVmxExitCtls2 << VMX_BF_EXIT_CTLS_USE_SECONDARY_CTLS_SHIFT ); 1456 1461 /* Set the default1 class bits. See Intel spec. A.4 "VM-exit Controls". */ 1457 1462 uint32_t const fAllowed0 = VMX_EXIT_CTLS_DEFAULT1; … … 1841 1846 EmuFeat.fVmxExitLoadEferMsr = 1; 1842 1847 EmuFeat.fVmxSavePreemptTimer = 0; /* Cannot be enabled if VMX-preemption timer is disabled. */ 1848 EmuFeat.fVmxExitCtls2 = 0; 1843 1849 EmuFeat.fVmxExitSaveEferLma = 1; /* Cannot be disabled if unrestricted guest is enabled. */ 1844 1850 EmuFeat.fVmxPt = 0; … … 1922 1928 pGuestFeat->fVmxExitLoadEferMsr = (pBaseFeat->fVmxExitLoadEferMsr & EmuFeat.fVmxExitLoadEferMsr ); 1923 1929 pGuestFeat->fVmxSavePreemptTimer = (pBaseFeat->fVmxSavePreemptTimer & EmuFeat.fVmxSavePreemptTimer ); 1930 pGuestFeat->fVmxExitCtls2 = (pBaseFeat->fVmxExitCtls2 & EmuFeat.fVmxExitCtls2 ); 1924 1931 pGuestFeat->fVmxExitSaveEferLma = (pBaseFeat->fVmxExitSaveEferLma & EmuFeat.fVmxExitSaveEferLma ); 1925 1932 pGuestFeat->fVmxPt = (pBaseFeat->fVmxPt & EmuFeat.fVmxPt ); … … 2611 2618 SSMR3PutU64(pSSM, pGstCtx->hwvirt.vmx.Msrs.u64EptVpidCaps); 2612 2619 SSMR3PutU64(pSSM, pGstCtx->hwvirt.vmx.Msrs.u64ProcCtls3); 2620 SSMR3PutU64(pSSM, pGstCtx->hwvirt.vmx.Msrs.u64ExitCtls2); 2613 2621 } 2614 2622 SSMR3PutU32(pSSM, pVCpu->cpum.s.fUseFlags); … … 2644 2652 * Validate version. 2645 2653 */ 2646 if ( uVersion != CPUM_SAVED_STATE_VERSION_PAE_PDPES 2654 if ( uVersion != CPUM_SAVED_STATE_VERSION_HWVIRT_VMX_3 2655 && uVersion != CPUM_SAVED_STATE_VERSION_PAE_PDPES 2647 2656 && uVersion != CPUM_SAVED_STATE_VERSION_HWVIRT_VMX_2 2648 2657 && uVersion != CPUM_SAVED_STATE_VERSION_HWVIRT_VMX … … 2908 2917 if (uVersion >= CPUM_SAVED_STATE_VERSION_HWVIRT_VMX_2) 2909 2918 SSMR3GetU64(pSSM, &pGstCtx->hwvirt.vmx.Msrs.u64ProcCtls3); 2919 if (uVersion >= CPUM_SAVED_STATE_VERSION_HWVIRT_VMX_3) 2920 SSMR3GetU64(pSSM, &pGstCtx->hwvirt.vmx.Msrs.u64ExitCtls2); 2910 2921 } 2911 2922 } … … 3776 3787 pHlp->pfnPrintf(pHlp, " %sPosted intr notify vector = %#RX16\n", pszPrefix, pVmcs->u16PostIntNotifyVector); 3777 3788 pHlp->pfnPrintf(pHlp, " %sEPTP index = %#RX16\n", pszPrefix, pVmcs->u16EptpIndex); 3789 pHlp->pfnPrintf(pHlp, " %sHLAT prefix size = %#RX16\n", pszPrefix, pVmcs->u16HlatPrefixSize); 3778 3790 3779 3791 /* 32-bit. */ … … 3835 3847 pHlp->pfnPrintf(pHlp, " %sTertiary processor ctls = %#RX64\n", pszPrefix, pVmcs->u64ProcCtls3.u); 3836 3848 pHlp->pfnPrintf(pHlp, " %sENCLV-exiting bitmap = %#RX64\n", pszPrefix, pVmcs->u64EnclvExitBitmap.u); 3849 pHlp->pfnPrintf(pHlp, " %sPCONFIG-exiting bitmap = %#RX64\n", pszPrefix, pVmcs->u64PconfigExitBitmap.u); 3850 pHlp->pfnPrintf(pHlp, " %sHLAT ptr = %#RX64\n", pszPrefix, pVmcs->u64HlatPtr.u); 3851 pHlp->pfnPrintf(pHlp, " %sSecondary VM-exit controls = %#RX64\n", pszPrefix, pVmcs->u64ExitCtls2.u); 3837 3852 3838 3853 /* Natural width. */ -
trunk/src/VBox/VMM/include/CPUMInternal.h
r97231 r97262 106 106 * @{ */ 107 107 /** The current saved state version. */ 108 #define CPUM_SAVED_STATE_VERSION CPUM_SAVED_STATE_VERSION_PAE_PDPES 108 #define CPUM_SAVED_STATE_VERSION CPUM_SAVED_STATE_VERSION_HWVIRT_VMX_3 109 /** The saved state version with more virtual VMCS fields (HLAT prefix size, 110 * PCONFIG-exiting bitmap, HLAT ptr, VM-exit ctls2) and a CPUMCTX field (VM-exit 111 * ctls2 MSR). */ 112 #define CPUM_SAVED_STATE_VERSION_HWVIRT_VMX_3 22 109 113 /** The saved state version with PAE PDPEs added. */ 110 114 #define CPUM_SAVED_STATE_VERSION_PAE_PDPES 21
Note:
See TracChangeset
for help on using the changeset viewer.