* Andi Kleen <a...@firstfloor.org> wrote: > From: Andi Kleen <a...@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 <a...@linux.intel.com> > > diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c > index 4a549db..11ea6f6 100644 > --- a/arch/x86/kernel/cpu/amd.c > +++ b/arch/x86/kernel/cpu/amd.c > @@ -115,7 +115,7 @@ static void __cpuinit init_amd_k6(struct cpuinfo_x86 *c) > */ > > n = K6_BUG_LOOP; > - f_vide = vide; > + asm("" : "=g" (f_vide) : "0" (vide)); > rdtscl(d); > while (n--) > f_vide();
Would be useful to read in the changelog about how you found the bug: - saw miscalculated values and figured out the reason - saw a new warning in GCC - saw it during review ? Ingo -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/