From b39a1502da147dee112f23ac175758e7a58ca74b Mon Sep 17 00:00:00 2001 From: Andreas Herrmann Date: Wed, 16 Sep 2009 11:33:40 +0200 Subject: [PATCH] --- yaml --- r: 162788 b: refs/heads/master c: 6a8126911a5ab167783fce18ae9cc70ec9b84fe2 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/x86/include/asm/processor.h | 2 ++ trunk/arch/x86/kernel/cpu/amd.c | 10 ++++++++++ trunk/drivers/edac/edac_mce_amd.c | 2 +- 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 9f8b1d30c8fd..2a4f9f71fdce 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b9183f9b99a9bd3349aefbd51d22f7e1bdc4a087 +refs/heads/master: 6a8126911a5ab167783fce18ae9cc70ec9b84fe2 diff --git a/trunk/arch/x86/include/asm/processor.h b/trunk/arch/x86/include/asm/processor.h index e08ea043e085..42a3f936dadc 100644 --- a/trunk/arch/x86/include/asm/processor.h +++ b/trunk/arch/x86/include/asm/processor.h @@ -1020,4 +1020,6 @@ extern void start_thread(struct pt_regs *regs, unsigned long new_ip, extern int get_tsc_mode(unsigned long adr); extern int set_tsc_mode(unsigned int val); +extern int amd_get_nb_id(int cpu); + #endif /* _ASM_X86_PROCESSOR_H */ diff --git a/trunk/arch/x86/kernel/cpu/amd.c b/trunk/arch/x86/kernel/cpu/amd.c index 22a47c82f3c0..f32fa71ccf97 100644 --- a/trunk/arch/x86/kernel/cpu/amd.c +++ b/trunk/arch/x86/kernel/cpu/amd.c @@ -333,6 +333,16 @@ static void __cpuinit amd_detect_cmp(struct cpuinfo_x86 *c) #endif } +int amd_get_nb_id(int cpu) +{ + int id = 0; +#ifdef CONFIG_SMP + id = per_cpu(cpu_llc_id, cpu); +#endif + return id; +} +EXPORT_SYMBOL_GPL(amd_get_nb_id); + static void __cpuinit srat_detect_node(struct cpuinfo_x86 *c) { #if defined(CONFIG_NUMA) && defined(CONFIG_X86_64) diff --git a/trunk/drivers/edac/edac_mce_amd.c b/trunk/drivers/edac/edac_mce_amd.c index c8ca7136dacc..0c21c370c9dd 100644 --- a/trunk/drivers/edac/edac_mce_amd.c +++ b/trunk/drivers/edac/edac_mce_amd.c @@ -405,7 +405,7 @@ void decode_mce(struct mce *m) regs.nbsh = (u32)(m->status >> 32); regs.nbeal = (u32) m->addr; regs.nbeah = (u32)(m->addr >> 32); - node = per_cpu(cpu_llc_id, m->extcpu); + node = amd_get_nb_id(m->extcpu); amd_decode_nb_mce(node, ®s, 1); break;