:
:No.  bzero() and bcopy() are for handling ordinary memory.  There is no
:proper way to volatilize them without pessimizing them.  Adding volatile
:to their prototypes won't actually make them handle volatile memory; it
:just breaks the warnings.  Some of the i586-optimized versions in fact
:don't handle volatile memory properly - they do things like reading some
:locations twice to prefetch the cache lines.  Even ordinary bcopy() via
:movsl accesses memory backwards in some cases.
:
:Drivers should use the bus access macros.
:
:Bruce

    Hmmm.. quite a bit more work.

                                        -Matt
                                        Matthew Dillon 
                                        <dil...@backplane.com>

To Unsubscribe: send mail to majord...@freebsd.org
with "unsubscribe freebsd-current" in the body of the message

Reply via email to