< prev index next >
src/hotspot/cpu/x86/vm_version_ext_x86.cpp
Print this page
*** 338,347 ****
--- 338,351 ----
if (is_amd()) {
return !is_amd_Barcelona();
}
+ if (is_hygon()) {
+ return true;
+ }
+
return false;
}
void VM_Version_Ext::resolve_cpu_information_details(void) {
*** 405,414 ****
--- 409,422 ----
if (cpu_family_id == CPU_FAMILY_PENTIUMPRO) {
return cpu_model_description();
}
return _family_id_intel[cpu_family_id];
}
+ if (is_hygon()) {
+ return _family_id_hygon[cpu_family_id];
+ }
+
return "Unknown x86";
}
int VM_Version_Ext::cpu_type_description(char* const buf, size_t buf_len) {
assert(buf != NULL, "buffer is NULL!");
*** 421,430 ****
--- 429,441 ----
cpu_type = "Intel";
x64 = cpu_is_em64t() ? " Intel64" : "";
} else if (is_amd()) {
cpu_type = "AMD";
x64 = cpu_is_em64t() ? " AMD64" : "";
+ } else if (is_hygon()) {
+ cpu_type = "HYGON";
+ x64 = cpu_is_em64t() ? " AMD64" : "";
} else {
cpu_type = "Unknown x86";
x64 = cpu_is_em64t() ? " x86_64" : "";
}
*** 730,739 ****
--- 741,778 ----
"",
"",
"Opteron/Athlon64",
"Opteron QC/Phenom" // Barcelona et.al.
};
+ const char* const VM_Version_Ext::_family_id_hygon[] = {
+ "", //family 0
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "HygonGenuine", //family 24
+ };
+
// Partially from Intel 64 and IA-32 Architecture Software Developer's Manual,
// September 2013, Vol 3C Table 35-1
const char* const VM_Version_Ext::_model_id_pentium_pro[] = {
"",
"Pentium Pro",
< prev index next >