On 2018/9/5 17:22, Borislav Petkov wrote:
@@ -214,6 +214,11 @@ static inline void mce_amd_feature_init(struct cpuinfo_x86 *c) { } #endif+static inline void mce_hygon_feature_init(struct cpuinfo_x86 *c)+{ + return mce_amd_feature_init(c); +} +What happens if CONFIG_X86_MCE_AMD=n ?
If CONFIG_X86_MCE_AMD=n, mce_hygon_feature_init will call the other one mce_amd_feature_init which is a null function and located in the else branch of "#ifdef CONFIG_X86_MCE_AMD". The compilation is OK and the kernel will run without MCE support.
In general, since you're using AMD code, you need to make CPU_SUP_HYGON depend on a bunch of AMD config items like CONFIG_X86_MCE_AMD, CONFIG_CPU_SUP_AMD, CONFIG_AMD_NB,... Audit your code and see what other config items need to be selected.
All right, will check all the config items which are necessary for CONFIG_CPU_SUP_HYGON. -- Regards, Pu Wen

