x86: Add new architecture type for Hygon processors

Add a new architecture type arch_kind_hygon to spilt Hygon branch
from AMD. This is to facilitate the Hygon processors to make settings
that are suitable for its own characteristics.

Signed-off-by: Feifei Wang <wangfeifei@hygon.cn>
Reviewed-by: Jing Li <lijing@hygon.cn>
Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
This commit is contained in:
Feifei Wang 2024-08-19 14:57:53 +08:00 committed by H.J. Lu
parent 34e52acd55
commit 6b08116b2d
2 changed files with 17 additions and 3 deletions

View File

@ -986,9 +986,8 @@ https://www.intel.com/content/www/us/en/support/articles/000059422/processors.ht
cpu_features->preferred[index_arch_Avoid_Short_Distance_REP_MOVSB]
|= bit_arch_Avoid_Short_Distance_REP_MOVSB;
}
/* This spells out "AuthenticAMD" or "HygonGenuine". */
else if ((ebx == 0x68747541 && ecx == 0x444d4163 && edx == 0x69746e65)
|| (ebx == 0x6f677948 && ecx == 0x656e6975 && edx == 0x6e65476e))
/* This spells out "AuthenticAMD". */
else if (ebx == 0x68747541 && ecx == 0x444d4163 && edx == 0x69746e65)
{
unsigned int extended_model;
@ -1104,6 +1103,20 @@ https://www.intel.com/content/www/us/en/support/articles/000059422/processors.ht
}
}
}
/* This spells out "HygonGenuine". */
else if (ebx == 0x6f677948 && ecx == 0x656e6975 && edx == 0x6e65476e)
{
unsigned int extended_model;
kind = arch_kind_hygon;
get_common_indices (cpu_features, &family, &model, &extended_model,
&stepping);
get_extended_indices (cpu_features);
update_active (cpu_features);
}
else
{
kind = arch_kind_other;

View File

@ -881,6 +881,7 @@ enum cpu_features_kind
arch_kind_intel,
arch_kind_amd,
arch_kind_zhaoxin,
arch_kind_hygon,
arch_kind_other
};