Changeset 68938 in vbox for trunk/src/VBox/Frontends/VBoxManage
- Timestamp:
- Sep 29, 2017 4:13:26 PM (7 years ago)
- svn:sync-xref-src-repo-rev:
- 118205
- Location:
- trunk/src/VBox/Frontends/VBoxManage
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VBoxManage/VBoxManageInfo.cpp
r68514 r68938 630 630 if (details != VMINFO_MACHINEREADABLE) 631 631 RTPrintf("CPUID overrides: "); 632 ULONG cFound= 0;633 static uint32_t const s_auCpuIdRanges[] =634 { 635 U INT32_C(0x00000000), UINT32_C(0x0000000a),636 UINT32_C(0x80000000), UINT32_C(0x8000000a)637 };638 for (unsigned i = 0; i < RT_ELEMENTS(s_auCpuIdRanges); i += 2)639 for (uint32_t uLeaf = s_auCpuIdRanges[i]; uLeaf < s_auCpuIdRanges[i + 1]; uLeaf++)640 {641 ULONG uEAX, uEBX, uECX, uEDX;642 rc = machine->GetCPUIDLeaf(uLeaf, &uEAX, &uEBX, &uECX, &uEDX);643 if (SUCCEEDED(rc))644 {645 if (details == VMINFO_MACHINEREADABLE)646 RTPrintf("cpuid=%08x,%08x,%08x,%08x,%08x", uLeaf, uEAX, uEBX, uECX, uEDX);647 else648 {649 if (!cFound)650 RTPrintf("Leaf no. EAX EBX ECX EDX\n");651 RTPrintf(" %08x %08x %08x %08x %08x\n", uLeaf, uEAX, uEBX, uECX, uEDX);652 }653 cFound++;654 655 } 656 if (! cFound&& details != VMINFO_MACHINEREADABLE)632 ULONG uOrdinal = 0; 633 for (uOrdinal = 0; uOrdinal < _4K; uOrdinal++) 634 { 635 ULONG uLeaf, uSubLeaf, uEAX, uEBX, uECX, uEDX; 636 rc = machine->GetCPUIDLeafByOrdinal(uOrdinal, &uLeaf, &uSubLeaf, &uEAX, &uEBX, &uECX, &uEDX); 637 if (SUCCEEDED(rc)) 638 { 639 if (details == VMINFO_MACHINEREADABLE) 640 RTPrintf("cpuid=%08x,%08x,%08x,%08x,%08x,%08x", uLeaf, uSubLeaf, uEAX, uEBX, uECX, uEDX); 641 else 642 { 643 if (!uOrdinal) 644 RTPrintf("Leaf no. EAX EBX ECX EDX\n"); 645 RTPrintf(" %08x/%03x %08x %08x %08x %08x\n", uLeaf, uSubLeaf, uEAX, uEBX, uECX, uEDX); 646 } 647 } 648 else 649 { 650 if (rc != E_INVALIDARG) 651 com::GlueHandleComError(machine, "GetCPUIDLeaf", rc, __FILE__, __LINE__); 652 break; 653 } 654 } 655 656 if (!uOrdinal && details != VMINFO_MACHINEREADABLE) 657 657 RTPrintf("None\n"); 658 658 -
trunk/src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp
r68485 r68938 81 81 MODIFYVM_UNPLUGCPU, 82 82 MODIFYVM_SETCPUID, 83 MODIFYVM_SETCPUID_OLD, 83 84 MODIFYVM_DELCPUID, 85 MODIFYVM_DELCPUID_OLD, 84 86 MODIFYVM_DELALLCPUID, 85 87 MODIFYVM_GRAPHICSCONTROLLER, … … 253 255 { "--vtxvpid", MODIFYVM_VTXVPID, RTGETOPT_REQ_BOOL_ONOFF }, 254 256 { "--vtxux", MODIFYVM_VTXUX, RTGETOPT_REQ_BOOL_ONOFF }, 255 { "--cpuidset", MODIFYVM_SETCPUID, RTGETOPT_REQ_UINT32 | RTGETOPT_FLAG_HEX}, 256 { "--cpuidremove", MODIFYVM_DELCPUID, RTGETOPT_REQ_UINT32 | RTGETOPT_FLAG_HEX}, 257 { "--cpuid-set", MODIFYVM_SETCPUID, RTGETOPT_REQ_UINT32_OPTIONAL_PAIR | RTGETOPT_FLAG_HEX }, 258 { "--cpuid-remove", MODIFYVM_DELCPUID, RTGETOPT_REQ_UINT32_OPTIONAL_PAIR | RTGETOPT_FLAG_HEX }, 259 { "--cpuidset", MODIFYVM_SETCPUID_OLD, RTGETOPT_REQ_UINT32 | RTGETOPT_FLAG_HEX }, 260 { "--cpuidremove", MODIFYVM_DELCPUID_OLD, RTGETOPT_REQ_UINT32 | RTGETOPT_FLAG_HEX }, 257 261 { "--cpuidremoveall", MODIFYVM_DELALLCPUID, RTGETOPT_REQ_NOTHING}, 258 262 { "--cpus", MODIFYVM_CPUS, RTGETOPT_REQ_UINT32 }, … … 735 739 736 740 case MODIFYVM_SETCPUID: 737 { 738 uint32_t id = ValueUnion.u32; 741 case MODIFYVM_SETCPUID_OLD: 742 { 743 uint32_t const idx = c == MODIFYVM_SETCPUID ? ValueUnion.PairU32.uFirst : ValueUnion.u32; 744 uint32_t const idxSub = c == MODIFYVM_SETCPUID ? ValueUnion.PairU32.uSecond : UINT32_MAX; 739 745 uint32_t aValue[4]; 740 741 746 for (unsigned i = 0; i < 4; i++) 742 747 { 743 748 int vrc = RTGetOptFetchValue(&GetOptState, &ValueUnion, RTGETOPT_REQ_UINT32 | RTGETOPT_FLAG_HEX); 744 749 if (RT_FAILURE(vrc)) 745 return errorSyntax(USAGE_MODIFYVM, 746 "Missing or Invalid argument to '%s'", 747 GetOptState.pDef->pszLong); 750 return errorSyntax(USAGE_MODIFYVM, "Missing or Invalid argument to '%s'", GetOptState.pDef->pszLong); 748 751 aValue[i] = ValueUnion.u32; 749 752 } 750 CHECK_ERROR(sessionMachine, SetCPUIDLeaf(id , aValue[0], aValue[1], aValue[2], aValue[3]));753 CHECK_ERROR(sessionMachine, SetCPUIDLeaf(idx, idxSub, aValue[0], aValue[1], aValue[2], aValue[3])); 751 754 break; 752 755 } 753 756 754 757 case MODIFYVM_DELCPUID: 755 { 756 CHECK_ERROR(sessionMachine, RemoveCPUIDLeaf(ValueUnion.u32)); 757 break; 758 } 758 CHECK_ERROR(sessionMachine, RemoveCPUIDLeaf(ValueUnion.PairU32.uFirst, ValueUnion.PairU32.uSecond)); 759 break; 760 761 case MODIFYVM_DELCPUID_OLD: 762 CHECK_ERROR(sessionMachine, RemoveCPUIDLeaf(ValueUnion.u32, UINT32_MAX)); 763 break; 759 764 760 765 case MODIFYVM_DELALLCPUID:
Note:
See TracChangeset
for help on using the changeset viewer.