From 3bda284e8fa1df1912c146f1732cc052a3356aa0 Mon Sep 17 00:00:00 2001 From: gcontini <1121667+gcontini@users.noreply.github.com> Date: 周六, 31 10月 2020 10:27:59 +0800 Subject: [PATCH] disk id loop - Windows --- src/library/os/execution_environment_common.cpp | 25 +++++++++++++++---------- 1 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/library/os/execution_environment_common.cpp b/src/library/os/execution_environment_common.cpp index 034fef0..f3bc1d4 100644 --- a/src/library/os/execution_environment_common.cpp +++ b/src/library/os/execution_environment_common.cpp @@ -20,18 +20,20 @@ const unordered_map<string, LCC_API_VIRTUALIZATION_DETAIL> virtual_cpu_names{ {"bhyve bhyve ", V_OTHER}, {"KVM", KVM}, {"MICROSOFT", HV}, {" lrpepyh vr", HV}, - {"prl hyperv ", V_OTHER}, {"VMWARE", VMWARE}, {"XenVMMXenVMM", V_XEN}, {"ACRNACRNACRN", V_OTHER}, + {"prl hyperv ", PARALLELS}, {"VMWARE", VMWARE}, {"XenVMMXenVMM", V_XEN}, {"ACRNACRNACRN", V_OTHER}, {"VBOX", VIRTUALBOX}}; const unordered_map<string, LCC_API_VIRTUALIZATION_DETAIL> vm_vendors{{"VMWARE", VMWARE}, - {"MICROSOFT", HV}, - {"VITRUAL MACHINE", V_OTHER}, + {"MICROSOFT", HV}, + {"PARALLELS", PARALLELS}, + {"VITRUAL MACHINE", V_OTHER}, {"INNOTEK GMBH", VIRTUALBOX}, - {"POWERVM", V_OTHER}, - {"BOCHS", V_OTHER}, - {"KVM", KVM}}; + {"POWERVM", V_OTHER}, + {"BOCHS", V_OTHER}, + {"KVM", KVM}}; -static LCC_API_VIRTUALIZATION_DETAIL find_in_map(const unordered_map<string, LCC_API_VIRTUALIZATION_DETAIL>& map, const string& data) { +static LCC_API_VIRTUALIZATION_DETAIL find_in_map(const unordered_map<string, LCC_API_VIRTUALIZATION_DETAIL>& map, + const string& data) { for (auto it : map) { if (data.find(it.first) != string::npos) { return it.second; @@ -67,8 +69,10 @@ } } } - if (result == BARE_TO_METAL && m_cpu_info.is_hypervisor_set()) { - result = V_OTHER; + if (result == BARE_TO_METAL) { + if (m_cpu_info.is_hypervisor_set() || is_cloud()) { + result = V_OTHER; + } } return result; } @@ -88,7 +92,8 @@ if (bios_vendor.find("SEABIOS") != string::npos || bios_description.find("ALIBABA") != string::npos || sys_vendor.find("ALIBABA") != string::npos) { result = ALI_CLOUD; - } else if (sys_vendor.find("GOOGLE") != string::npos || bios_description.find("GOOGLE") != string::npos) { + } else if (sys_vendor.find("GOOGLE") != string::npos || + bios_description.find("GOOGLECOMPUTEENGINE") != string::npos) { result = GOOGLE_CLOUD; } else if (bios_vendor.find("AWS") != string::npos || bios_description.find("AMAZON") != string::npos || sys_vendor.find("AWS") != string::npos) { -- Gitblit v1.9.1