Replace bcopy() to update ether_addr
Wojciech Puchar
wojtek at wojtek.tensor.gdynia.pl
Mon Aug 20 16:49:31 UTC 2012
> #if defined(__i386__) || defined(__amd64__)
> *dst = *src;
> #else
> bcopy(src, dst, ETHER_ADDR_LEN);
#else
short *tmp1=((*short)src),*tmp2=((*short)dst);
*tmp2=*tmp1; *(tmp2+1)=*(tmp1+1); *(tmp2+2)=*(tmp1+2);
or use ++.
i think it is always aligned to 2 bytes and this should produce usable
code on any CPU? should be 6 instructions on MIPS and PPC IMHO.
More information about the freebsd-net
mailing list