On 10/4/07, Misbah khan <[EMAIL PROTECTED]> wrote: > > Hi ... > I did followed you and it worked as well. I really Thank you for it. > > At one Place i am doing memcpy() of floating point data to the memory mapped > registers, what could be the substitute of it like "memcpy_toio() " which is > suggested in the Book. I am working BE architecture. > > I would really appreaciate if you would let me know the defineation of these > wrapper functions (in_be32,out_be32(),ioread32(),iowrite32(),etc) so that i > could have the clear idea of the reason for not directly dreferencing the > Pointer.
You don't want to directly dereference pointers to device registers because you don't want the processor or compiler to reorder your register accesses. The in/out_* wrappers keeps the compiler from reordering things, and the wrappers contain the 'sync' instruction which prevents the processor from reordering operations at runtime. g. -- Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. [EMAIL PROTECTED] (403) 399-0195 _______________________________________________ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded