27 |
27 |
28 #include "utilities/macros.hpp" |
28 #include "utilities/macros.hpp" |
29 #include "vm_version_x86.hpp" |
29 #include "vm_version_x86.hpp" |
30 |
30 |
31 class VM_Version_Ext : public VM_Version { |
31 class VM_Version_Ext : public VM_Version { |
|
32 |
|
33 enum { |
|
34 ExtendedFamilyIdLength_INTEL = 16, |
|
35 ExtendedFamilyIdLength_AMD = 24 |
|
36 }; |
|
37 |
32 private: |
38 private: |
33 static const size_t VENDOR_LENGTH; |
39 static const size_t VENDOR_LENGTH; |
34 static const size_t CPU_EBS_MAX_LENGTH; |
40 static const size_t CPU_EBS_MAX_LENGTH; |
35 static const size_t CPU_TYPE_DESC_BUF_SIZE; |
41 static const size_t CPU_TYPE_DESC_BUF_SIZE; |
36 static const size_t CPU_DETAILED_DESC_BUF_SIZE; |
42 static const size_t CPU_DETAILED_DESC_BUF_SIZE; |
37 |
43 |
38 static const char* const _family_id_intel[]; |
44 static const char* const _family_id_intel[ExtendedFamilyIdLength_INTEL]; |
39 static const char* const _family_id_amd[]; |
45 static const char* const _family_id_amd[ExtendedFamilyIdLength_AMD]; |
40 static const char* const _brand_id[]; |
46 static const char* const _brand_id[]; |
41 static const char* const _model_id_pentium_pro[]; |
47 static const char* const _model_id_pentium_pro[]; |
42 |
48 |
43 static const char* const _feature_edx_id[]; |
49 static const char* const _feature_edx_id[]; |
44 static const char* const _feature_extended_edx_id[]; |
50 static const char* const _feature_extended_edx_id[]; |