Re: [PATCH 1/2] x86/mce/AMD: Define function to get SMCA bank type

From: Borislav Petkov
Date: Sat Dec 02 2017 - 09:22:01 EST


On Fri, Dec 01, 2017 at 09:50:33AM -0600, Yazen Ghannam wrote:
> From: Yazen Ghannam <yazen.ghannam@xxxxxxx>
>
> Scalable MCA systems have various types of banks. The bank's type can
> determine how we handle errors from it. For example, if a bank represents
> a UMC then we will need to convert its address from a normalized address
> to a system physical address before handling the error.
>
> Define an exported function to return a bank's SMCA type.
>
> Signed-off-by: Yazen Ghannam <yazen.ghannam@xxxxxxx>
> ---
> arch/x86/include/asm/mce.h | 1 +
> arch/x86/kernel/cpu/mcheck/mce_amd.c | 11 +++++++++++
> 2 files changed, 12 insertions(+)
>
> diff --git a/arch/x86/include/asm/mce.h b/arch/x86/include/asm/mce.h
> index b1e8d8db921f..9ab8bf32e61c 100644
> --- a/arch/x86/include/asm/mce.h
> +++ b/arch/x86/include/asm/mce.h
> @@ -376,6 +376,7 @@ struct smca_bank {
> extern struct smca_bank smca_banks[MAX_NR_BANKS];
>
> extern const char *smca_get_long_name(enum smca_bank_types t);
> +extern unsigned int smca_get_bank_type(struct mce *m);
>
> extern int mce_threshold_create_device(unsigned int cpu);
> extern int mce_threshold_remove_device(unsigned int cpu);
> diff --git a/arch/x86/kernel/cpu/mcheck/mce_amd.c b/arch/x86/kernel/cpu/mcheck/mce_amd.c
> index a38ab1fa53a2..bc0510a4f6c0 100644
> --- a/arch/x86/kernel/cpu/mcheck/mce_amd.c
> +++ b/arch/x86/kernel/cpu/mcheck/mce_amd.c
> @@ -110,6 +110,17 @@ const char *smca_get_long_name(enum smca_bank_types t)
> }
> EXPORT_SYMBOL_GPL(smca_get_long_name);
>
> +unsigned int smca_get_bank_type(struct mce *m)
> +{
> + struct smca_bank bank = smca_banks[m->bank];
> +
> + if (!bank.hwid)
> + return N_SMCA_BANK_TYPES;
> +
> + return bank.hwid->bank_type;
> +}
> +EXPORT_SYMBOL_GPL(smca_get_bank_type);

Why are you exporting it if it is used in mce_amd.c only anyway?

--
Regards/Gruss,
Boris.

SUSE Linux GmbH, GF: Felix ImendÃrffer, Jane Smithard, Graham Norton, HRB 21284 (AG NÃrnberg)
--