Changeset 101035 in vbox for trunk/include/VBox
- Timestamp:
- Sep 7, 2023 8:59:15 AM (17 months ago)
- Location:
- trunk/include/VBox
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/err.h
r100804 r101035 3136 3136 /** @} */ 3137 3137 3138 /** @name Platform Status Codes 3139 * @{ 3140 */ 3141 /** The selected platform architecture is not supported. 3142 * Depends on the context (host / VM). */ 3143 #define VERR_PLATFORM_ARCH_NOT_SUPPORTED (-7400) 3144 /** @} */ 3145 3138 3146 /* SED-END */ 3139 3147 -
trunk/include/VBox/log.h
r100868 r101035 399 399 /** Main group, IBandwidthGroup. */ 400 400 LOG_GROUP_MAIN_BANDWIDTHGROUP, 401 /** Main group, IBIOSSettings. */402 LOG_GROUP_MAIN_BIOSSETTINGS,403 401 /** Main group, IBooleanFormValue. */ 404 402 LOG_GROUP_MAIN_BOOLEANFORMVALUE, … … 483 481 /** Main group, IFile. */ 484 482 LOG_GROUP_MAIN_FILE, 483 /** Main group, IFirmwareSettings. */ 484 LOG_GROUP_MAIN_FIRMWARESETTINGS, 485 485 /** Main group, IForm. */ 486 486 LOG_GROUP_MAIN_FORM, … … 557 557 /** Main group, IHostVideoInputDevice. */ 558 558 LOG_GROUP_MAIN_HOSTVIDEOINPUTDEVICE, 559 /** Main group, IHostX86. */ 560 LOG_GROUP_MAIN_HOSTX86, 559 561 /** Main group, IInternalMachineControl. */ 560 562 LOG_GROUP_MAIN_INTERNALMACHINECONTROL, … … 599 601 /** Main group, IPerformanceMetric. */ 600 602 LOG_GROUP_MAIN_PERFORMANCEMETRIC, 603 /** Main group, IPlatform. */ 604 LOG_GROUP_MAIN_PLATFORM, 605 /** Main group, IPlatformARM. */ 606 LOG_GROUP_MAIN_PLATFORMARM, 607 /** Main group, IPlatformProperties. */ 608 LOG_GROUP_MAIN_PLATFORMPROPERTIES, 609 /** Main group, IPlatformX86. */ 610 LOG_GROUP_MAIN_PLATFORMX86, 601 611 /** Main group, IProcess. */ 602 612 LOG_GROUP_MAIN_PROCESS, … … 1021 1031 "MAIN_BANDWIDTHCONTROL", \ 1022 1032 "MAIN_BANDWIDTHGROUP", \ 1023 "MAIN_BIOSSETTINGS", \1024 1033 "MAIN_BOOLEANFORMVALUE", \ 1025 1034 "MAIN_CERTIFICATE", \ … … 1063 1072 "MAIN_EXTPACKPLUGIN", \ 1064 1073 "MAIN_FILE", \ 1074 "MAIN_FIRMWARESETTINGS", \ 1065 1075 "MAIN_FORM", \ 1066 1076 "MAIN_FORMVALUE", \ … … 1100 1110 "MAIN_HOSTUSBDEVICEFILTER", \ 1101 1111 "MAIN_HOSTVIDEOINPUTDEVICE", \ 1112 "MAIN_HOSTX86", \ 1102 1113 "MAIN_INTERNALMACHINECONTROL", \ 1103 1114 "MAIN_INTERNALSESSIONCONTROL", \ … … 1121 1132 "MAIN_PERFORMANCECOLLECTOR", \ 1122 1133 "MAIN_PERFORMANCEMETRIC", \ 1134 "MAIN_PLATFORM", \ 1135 "MAIN_PLATFORMARM", \ 1136 "MAIN_PLATFORMPROPERTIES", \ 1137 "MAIN_PLATFORMX86", \ 1123 1138 "MAIN_PROCESS", \ 1124 1139 "MAIN_PROGRESS", \ -
trunk/include/VBox/settings.h
r98103 r101035 355 355 uint32_t uProxyMode; /**< ProxyMode_T */ 356 356 uint32_t uLogHistoryCount; 357 com::Utf8Str strLanguageId; 358 }; 359 360 struct PlatformProperties 361 { 362 PlatformProperties(); 363 357 364 bool fExclusiveHwVirt; 358 com::Utf8Str strLanguageId;359 365 }; 360 366 … … 518 524 Host host; 519 525 SystemProperties systemProperties; 526 PlatformProperties platformProperties; 520 527 MediaRegistry mediaRegistry; 521 528 MachinesRegistry llMachines; … … 575 582 * your settings might never get saved. 576 583 */ 577 struct BIOSSettings 578 { 579 BIOSSettings(); 580 581 bool areDefaultSettings() const; 582 583 bool operator==(const BIOSSettings &d) const; 584 585 bool fACPIEnabled, 586 fIOAPICEnabled, 587 fLogoFadeIn, 588 fLogoFadeOut, 589 fPXEDebugEnabled, 590 fSmbiosUuidLittleEndian; 591 uint32_t ulLogoDisplayTime; 592 BIOSBootMenuMode_T biosBootMenuMode; 593 APICMode_T apicMode; // requires settings version 1.16 (VirtualBox 5.1) 594 int64_t llTimeOffset; 595 com::Utf8Str strLogoImagePath; 584 struct FirmwareSettings 585 { 586 FirmwareSettings(); 587 588 bool areDefaultSettings(CPUArchitecture_T enmCPUArch) const; 589 590 bool operator==(const FirmwareSettings &d) const; 591 592 FirmwareType_T firmwareType; // requires settings version 1.9 (VirtualBox 3.1) 593 bool fACPIEnabled, 594 fIOAPICEnabled, 595 fLogoFadeIn, 596 fLogoFadeOut, 597 fPXEDebugEnabled, 598 fSmbiosUuidLittleEndian; 599 uint32_t ulLogoDisplayTime; 600 FirmwareBootMenuMode_T enmBootMenuMode; 601 APICMode_T apicMode; // requires settings version 1.16 (VirtualBox 5.1) 602 int64_t llTimeOffset; 603 com::Utf8Str strLogoImagePath; 596 604 }; 597 605 … … 931 939 932 940 bool fEnabled; 933 uint32_t ulIO Base;941 uint32_t ulIOAddress; 934 942 uint32_t ulIRQ; 935 943 PortMode_T portMode; … … 1030 1038 * your settings might never get saved. 1031 1039 */ 1032 struct CpuIdLeaf 1033 { 1034 CpuIdLeaf ();1035 1036 bool operator==(const CpuIdLeaf &c) const;1040 struct CpuIdLeafX86 1041 { 1042 CpuIdLeafX86(); 1043 1044 bool operator==(const CpuIdLeafX86 &c) const; 1037 1045 1038 1046 uint32_t idx; … … 1044 1052 }; 1045 1053 1046 typedef std::list<CpuIdLeaf > CpuIdLeafsList;1054 typedef std::list<CpuIdLeafX86> CpuIdLeafsX86List; 1047 1055 1048 1056 /** … … 1213 1221 }; 1214 1222 1223 #ifdef VBOX_WITH_VIRT_ARMV8 1224 struct PlatformARM 1225 { 1226 PlatformARM(); 1227 1228 bool operator==(const PlatformARM&) const; 1229 }; 1230 #endif /* VBOX_WITH_VIRT_ARMV8 */ 1231 1232 /** 1233 * Covers x86-specific platform attributes. 1234 * 1235 * New since settings v1.20 (VirtualBox 7.1). 1236 * Contains attributes which were in the Hardware settings before. 1237 */ 1238 struct PlatformX86 1239 { 1240 PlatformX86(); 1241 1242 bool operator==(const PlatformX86&) const; 1243 1244 /** Note: Lived in Hardware for settings < version 1.20 (requires settings version 1.10 (VirtualBox 3.2). */ 1245 bool fPAE; 1246 /** Note: Lived in Hardware for settings < version 1.20 (requires settings version 1.10 (VirtualBox 3.2). */ 1247 bool fAPIC; // requires settings version 1.16 (VirtualBox 5.1) 1248 /** Note: Lived in Hardware for settings < version 1.20 (requires settings version 1.10 (VirtualBox 3.2). */ 1249 bool fX2APIC; // requires settings version 1.16 (VirtualBox 5.1) 1250 /** Note: Lived in Hardware for settings < version 1.20 (requires settings version 1.10 (VirtualBox 3.2). */ 1251 bool fHPETEnabled; 1252 /** Note: Lived in Hardware for settings < version 1.20. */ 1253 typedef enum LongModeType { LongMode_Enabled, LongMode_Disabled, LongMode_Legacy } LongModeType; 1254 /** Note: Lived in Hardware for settings < version 1.20. */ 1255 LongModeType enmLongMode; 1256 /** Custom x86 CPUID leafs list. 1257 * Note: Lived in Hardware for settings < version 1.20. */ 1258 CpuIdLeafsX86List llCpuIdLeafs; 1259 /** Note: Lived in Hardware for settings < version 1.20. */ 1260 bool fTripleFaultReset; 1261 /** Note: Lived in Hardware for settings < version 1.20. */ 1262 bool fIBPBOnVMExit; //< added out of cycle, after settings version 1.16 was out. 1263 /** Note: Lived in Hardware for settings < version 1.20. */ 1264 bool fIBPBOnVMEntry; //< added out of cycle, after settings version 1.16 was out. 1265 /** Note: Lived in Hardware for settings < version 1.20. */ 1266 bool fSpecCtrl; //< added out of cycle, after settings version 1.16 was out. 1267 /** Note: Lived in Hardware for settings < version 1.20. */ 1268 bool fSpecCtrlByHost; //< added out of cycle, after settings version 1.16 was out. 1269 /** Note: Lived in Hardware for settings < version 1.20. */ 1270 bool fL1DFlushOnSched; //< added out of cycle, after settings version 1.16 was out. 1271 /** Note: Lived in Hardware for settings < version 1.20. */ 1272 bool fL1DFlushOnVMEntry; //< added out of cycle, after settings version 1.16 was out. 1273 /** Note: Lived in Hardware for settings < version 1.20. */ 1274 bool fMDSClearOnSched; //< added out of cycle, after settings version 1.16 was out. 1275 /** Note: Lived in Hardware for settings < version 1.20. */ 1276 bool fMDSClearOnVMEntry; //< added out of cycle, after settings version 1.16 was out. 1277 bool fHWVirtEx; 1278 bool fHWVirtExNestedPaging; 1279 bool fHWVirtExLargePages; 1280 bool fHWVirtExVPID; 1281 /** Unrestricted execution. */ 1282 bool fHWVirtExUX; 1283 bool fHWVirtExForce; 1284 bool fHWVirtExUseNativeApi; 1285 /** AMD-V VMSAVE/VMLOAD. */ 1286 bool fHWVirtExVirtVmsaveVmload; 1287 /** Nested VT-x / AMD-V. 1288 * Note: Lived in Hardware for settings < version 1.20. */ 1289 bool fNestedHWVirt; //< requires settings version 1.17 (VirtualBox 6.0) 1290 }; 1291 1292 /** 1293 * Covers common platform attributes. 1294 * 1295 * New since settings v1.20 (VirtualBox 7.1). 1296 * Contains attributes which were in the Hardware settings before. 1297 */ 1298 struct Platform 1299 { 1300 Platform(); 1301 1302 bool operator==(const Platform&) const; 1303 1304 /** Requires settings version 1.20 (VirtualBox 7.1). */ 1305 PlatformArchitecture_T architectureType; 1306 /** Note: Lived in Hardware for settings < version 1.20 (requires settings version 1.11 (VirtualBox 4.0). */ 1307 ChipsetType_T chipsetType; 1308 /** Note: Lived in Hardware for settings < version 1.20 (requires settings version 1.19 (VirtualBox 6.2). */ 1309 IommuType_T iommuType; 1310 /** Note: Lived in Hardware for settings < version 1.20. */ 1311 bool fRTCUseUTC; 1312 /** Note: Is a class, so we can't use a union here. */ 1313 PlatformX86 x86; 1314 #ifdef VBOX_WITH_VIRT_ARMV8 1315 /** Note: Is a class, so we can't use a union here. */ 1316 PlatformARM arm; 1317 #endif 1318 }; 1319 1215 1320 /** 1216 1321 * Representation of Machine hardware; this is used in the MachineConfigFile.hardwareMachine … … 1234 1339 com::Utf8Str strVersion; // hardware version, optional 1235 1340 com::Guid uuid; // hardware uuid, optional (null). 1236 1237 bool fHardwareVirt, 1238 fNestedPaging, 1239 fLargePages, 1240 fVPID, 1241 fUnrestrictedExecution, 1242 fHardwareVirtForce, 1243 fUseNativeApi, 1244 fSyntheticCpu, 1245 fTripleFaultReset, 1246 fPAE, 1247 fAPIC, // requires settings version 1.16 (VirtualBox 5.1) 1248 fX2APIC; // requires settings version 1.16 (VirtualBox 5.1) 1249 bool fIBPBOnVMExit; //< added out of cycle, after 1.16 was out. 1250 bool fIBPBOnVMEntry; //< added out of cycle, after 1.16 was out. 1251 bool fSpecCtrl; //< added out of cycle, after 1.16 was out. 1252 bool fSpecCtrlByHost; //< added out of cycle, after 1.16 was out. 1253 bool fL1DFlushOnSched ; //< added out of cycle, after 1.16 was out. 1254 bool fL1DFlushOnVMEntry ; //< added out of cycle, after 1.16 was out. 1255 bool fMDSClearOnSched; //< added out of cycle, after 1.16 was out. 1256 bool fMDSClearOnVMEntry; //< added out of cycle, after 1.16 was out. 1257 bool fNestedHWVirt; //< requires settings version 1.17 (VirtualBox 6.0) 1258 bool fVirtVmsaveVmload; //< requires settings version 1.18 (VirtualBox 6.1) 1259 typedef enum LongModeType { LongMode_Enabled, LongMode_Disabled, LongMode_Legacy } LongModeType; 1260 LongModeType enmLongMode; 1341 bool fSyntheticCpu; 1261 1342 uint32_t cCPUs; 1262 1343 bool fCpuHotPlug; // requires settings version 1.10 (VirtualBox 3.2) 1263 1344 CpuList llCpus; // requires settings version 1.10 (VirtualBox 3.2) 1264 bool fHPETEnabled; // requires settings version 1.10 (VirtualBox 3.2)1265 1345 uint32_t ulCpuExecutionCap; // requires settings version 1.11 (VirtualBox 3.3) 1266 1346 uint32_t uCpuIdPortabilityLevel; // requires settings version 1.15 (VirtualBox 5.0) 1267 1347 com::Utf8Str strCpuProfile; // requires settings version 1.16 (VirtualBox 5.1) 1268 1348 1269 CpuIdLeafsList llCpuIdLeafs;1270 1271 1349 uint32_t ulMemorySizeMB; 1272 1350 1273 1351 BootOrderMap mapBootOrder; // item 0 has highest priority 1274 1275 FirmwareType_T firmwareType; // requires settings version 1.9 (VirtualBox 3.1)1276 1352 1277 1353 PointingHIDType_T pointingHIDType; // requires settings version 1.10 (VirtualBox 3.2) 1278 1354 KeyboardHIDType_T keyboardHIDType; // requires settings version 1.10 (VirtualBox 3.2) 1279 1355 1280 ChipsetType_T chipsetType; // requires settings version 1.11 (VirtualBox 4.0)1281 IommuType_T iommuType; // requires settings version 1.19 (VirtualBox 6.2)1282 1356 ParavirtProvider_T paravirtProvider; // requires settings version 1.15 (VirtualBox 4.4) 1283 1357 com::Utf8Str strParavirtDebug; // requires settings version 1.16 (VirtualBox 5.1) … … 1287 1361 VRDESettings vrdeSettings; 1288 1362 1289 BIOSSettings biosSettings; 1363 Platform platformSettings; // new since 1.20 (VirtualBox 7.1) 1364 FirmwareSettings firmwareSettings; 1290 1365 NvramSettings nvramSettings; 1291 1366 GraphicsAdapter graphicsAdapter; … … 1408 1483 com::Utf8Str strTeleporterAddress; 1409 1484 com::Utf8Str strTeleporterPassword; 1410 bool fRTCUseUTC;1411 1485 IconBlob ovIcon; 1412 1486 VMProcPriority_T enmVMPriority; … … 1492 1566 void readNetworkAdapters(const xml::ElementNode &elmHardware, NetworkAdaptersList &ll); 1493 1567 void readAttachedNetworkMode(const xml::ElementNode &pelmMode, bool fEnabled, NetworkAdapter &nic); 1494 void readCpuIdTree (const xml::ElementNode &elmCpuid, CpuIdLeafsList &ll);1568 void readCpuIdTreeX86(const xml::ElementNode &elmCpuid, CpuIdLeafsX86List &ll); 1495 1569 void readCpuTree(const xml::ElementNode &elmCpu, CpuList &ll); 1496 1570 void readSerialPorts(const xml::ElementNode &elmUART, SerialPortsList &ll); … … 1499 1573 void readGuestProperties(const xml::ElementNode &elmGuestProperties, Hardware &hw); 1500 1574 void readStorageControllerAttributes(const xml::ElementNode &elmStorageController, StorageController &sctl); 1575 void readPlatformCPUIDTreeX86(const xml::ElementNode &elmChild, PlatformX86 &platX86); 1576 void readPlatformX86(const xml::ElementNode &elmPlatform,PlatformX86 &platX86); 1577 void readPlatform(const xml::ElementNode &elmPlatform, Platform &plat); 1501 1578 void readHardware(const xml::ElementNode &elmHardware, Hardware &hw); 1502 1579 void readHardDiskAttachments_pre1_7(const xml::ElementNode &elmHardDiskAttachments, Storage &strg); … … 1513 1590 void readMachineEncrypted(const xml::ElementNode &elmMachine, PCVBOXCRYPTOIF pCryptoIf, const char *pszPassword); 1514 1591 1592 void buildPlatformX86XML(xml::ElementNode &elmParent, xml::ElementNode &elmCPU, const PlatformX86 &plat); 1593 void buildPlatformXML(xml::ElementNode &elmParent, const Hardware &h, const Platform &plat); 1515 1594 void buildHardwareXML(xml::ElementNode &elmParent, const Hardware &hw, uint32_t fl, std::list<xml::ElementNode*> *pllElementsWithUuidAttributes); 1516 1595 void buildNetworkXML(NetworkAttachmentType_T mode, bool fEnabled, xml::ElementNode &elmParent, const NetworkAdapter &nic);
Note:
See TracChangeset
for help on using the changeset viewer.