On 31/03/2010 12:13, Мартин Бохниг wrote:
2010/3/31 Мартин Бохниг<mar...@martux.org>:
The UltraSPARC-specific VIS block move instruction performs a 64-byte transfer t
hat is both cache coherent and nonpolluting. This feature IS USED by the platfor
m-specific libc bcopy, bzero, memcpy, memmove, memset, memcmp operations.
But not strcpy(), sprintf(), right?
To avoid ambiguity: The problem is, that as far as I know the
platform-specific versions of libc are still closed src binary-only
releases. Otherwise we could of course just look at ON how they
implemented the platform-specific libc-versions.
Please check the source first using opengrok or cscope, the platform
specific versions of all those functions are open source:
bcopy/bzero are wrappers around memmove/memset respectively see:
http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/common/util/
For the platform implementations for sparc and sun4v in particular see
these directories:
http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/lib/libc/sparcv9/gen/
http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/lib/libc_psr/sun4v/common/
Most of libc is open, you can probably infer from the name of the .a
file in the closed-bins.tar (libc_i18n.a) what is closed from libc.
--
Darren J Moffat
_______________________________________________
opensolaris-code mailing list
opensolaris-code@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code