RE: [PATCH] x86_64/__iowrite32_copy: don't use string move for PIOwrites
From: Lu, Hongjiu
Date: Fri Jul 10 2009 - 12:03:11 EST
> Pavel Machek wrote:
> >> - the current code is fine as long as it doesn't cross from cached to
> >> uncached memory, which it never should in any kind of sensible driver;
> >
> > Should we add a comment somewhere saying that is not permitted (and why)?
>
> It sounds like what we should do is simply remove
> arch/x86/lib/iomap_copy_64.S, and probably add a comment to
> lib/iomap_copy.c stating that rep string instructions have been reported
> to cause anomalies when accessing WC memory, and that we rely on gcc not
> generating them due thanks to the volatiles in the implementation of
> __raw_writel(). H.J. Lu tells me that gcc will not generate string
> instructions for volatiles, and that the x86 gcc team considers that
> part of the definition for volatile. (HJL: please correct if I got that
> incorrect.)
>
That is correct. If it isn't the case, please open a gcc bug report.
H.J.
¢éì®&Þ~º&¶¬+-±éÝ¥w®Ë±Êâmébìdz¹Þ)í
æèw*jg¬±¨¶Ýj/êäz¹Þà2Þ¨èÚ&¢)ß«a¶Úþø®G«éh®æj:+v¨wèÙ>W±êÞiÛaxPjØm¶ÿÃ-»+ùd_