| | |
| | | bool cpu_virtual() const; |
| | | uint32_t model() const; |
| | | std::string vendor() const; |
| | | // std::string brand() const; |
| | | VIRTUALIZATION_DETAIL getVirtualizationDetail() const; |
| | | }; |
| | | |
| | |
| | | string CpuInfo::vendor() const { |
| | | // hypervisor flag false, try to get the vendor name, see if it's a virtual cpu |
| | | int cpui[4] = {0}; |
| | | __cpuid(cpui, 0x0); |
| | | return string(reinterpret_cast<const char *>(cpui), 12); |
| | | __cpuidex(cpui, 0x0, 0x0); |
| | | |
| | | char vendor[13]; |
| | | memset(vendor, 0, sizeof(vendor)); |
| | | *reinterpret_cast<int *>(vendor) = cpui[1]; |
| | | *reinterpret_cast<int *>(vendor +4) = cpui[3]; |
| | | *reinterpret_cast<int *>(vendor + 8) = cpui[2]; |
| | | return string(vendor, 12); |
| | | } |
| | | } // namespace os |
| | | } /* namespace license */ |