| From | Andi Kleen <> | Subject | [PATCH 30/74] x86, lto: Fix AMD K6 indirect call check | Date | Sat, 18 Aug 2012 19:56:26 -0700 |
| |
From: Andi Kleen <ak@linux.intel.com>
The AMD K6 errata check relies on timing a indirect call. But the way it was written it could be optimized to a direct call. Force gcc to actually do a indirect call and not just constant resolve the target address.
Signed-off-by: Andi Kleen <ak@linux.intel.com> --- arch/x86/kernel/cpu/amd.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index 2c02d92..cb72014 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c @@ -116,7 +116,7 @@ static void __cpuinit init_amd_k6(struct cpuinfo_x86 *c) */ n = K6_BUG_LOOP; - f_vide = vide; + asm("" : "=r" (f_vide) : "0" (vide)); rdtscl(d); while (n--) f_vide(); -- 1.7.7.6
|