Lines Matching refs:copy

9  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
52 * ! of copy and flags. Set up error handling accordingly.
170 * ! the copy. This also prevents cpu migration.
218 * whether to use the FP registers for a copy or not. If we don't
219 * use the FP registers, we can execute the copy as a leaf routine,
224 * registers allow much faster copy operations.
254 * vs out-of-cache copy tests in user space suggest 1024 bytes as a safe
280 * If hw_copy_limit_? is set to zero, then use of FPBLK copy is
302 * But, tests on running kernels show that src and dst to copy code
310 * avoided. For example, within the non-FPBLK copy, we first
312 * to use a 4-way unrolled loop for the general byte copy case
384 * userland or in kernel copy) and the tl0 component of the handling
386 * - a user process with fp state incurs a copy-on-write fault and
390 * using our stack is ideal (and since fp copy cannot be leaf optimized
408 * When we have finished fp copy (with it's repeated block stores)
442 * affects copy data being interpreted as losing kernel state.
444 * Since the copy operations may preserve and later restore floating
523 * All copy functions use two quadrants of fp registers; to assure a
547 * Common macros used by the various versions of the block copy
603 * and find fp already in use and copy size still large enough to justify
607 * the call to the copy function (by whoever has fp in use); for example
610 * sync our block store (the copy code is about to begin ldd's to the
617 * the copy operation to complete before we fill the quadrants with their
621 * of the copy code to membar #Sync immediately after copy is complete
635 /* membar #Sync - provided at copy completion */ ;\
653 /* membar #Sync - provided at copy completion */ ;\
665 * switch) before commencing a FP copy, and reallow it on completion or
666 * in error trampoline paths when we were using FP copy.
673 * CPU as we use for the copy operation, both so that we validate the
674 * CPU we perform the copy on and so that we know which CPU failed
763 sethi %hi(hw_copy_limit_1), %o3 ! Check copy limit
766 bz,pn %icc, .kcopy_small ! if zero, disable HW copy
768 bleu,pt %ncc, .kcopy_small ! go to small copy
770 ba,pt %ncc, .kcopy_more ! otherwise go to large copy
776 sethi %hi(hw_copy_limit_2), %o3 ! Check copy limit
779 bz,pn %icc, .kcopy_small ! if zero, disable HW copy
781 bleu,pt %ncc, .kcopy_small ! go to small copy
783 ba,pt %ncc, .kcopy_more ! otherwise go to large copy
787 sethi %hi(hw_copy_limit_4), %o3 ! Check copy limit
790 bz,pn %icc, .kcopy_small ! if zero, disable HW copy
792 bleu,pt %ncc, .kcopy_small ! go to small copy
794 ba,pt %ncc, .kcopy_more ! otherwise go to large copy
797 sethi %hi(hw_copy_limit_8), %o3 ! Check copy limit
800 bz,pn %icc, .kcopy_small ! if zero, disable HW copy
802 bleu,pt %ncc, .kcopy_small ! go to small copy
804 ba,pt %ncc, .kcopy_more ! otherwise go to large copy
835 and %l6, TRAMP_FLAG, %l0 ! copy trampoline flag to %l0
882 restore %g0, 0, %o0 ! dispose of copy window
889 .asciz "Unable to restore fp state after copy operation"
947 sethi %hi(hw_copy_limit_1), %o3 ! Check copy limit
950 bz,pn %icc, .bcopy_small ! if zero, disable HW copy
952 bleu,pt %ncc, .bcopy_small ! go to small copy
954 ba,pt %ncc, .bcopy_more ! otherwise go to large copy
960 sethi %hi(hw_copy_limit_2), %o3 ! Check copy limit
963 bz,pn %icc, .bcopy_small ! if zero, disable HW copy
965 bleu,pt %ncc, .bcopy_small ! go to small copy
967 ba,pt %ncc, .bcopy_more ! otherwise go to large copy
971 sethi %hi(hw_copy_limit_4), %o3 ! Check copy limit
974 bz,pn %icc, .bcopy_small ! if zero, disable HW copy
976 bleu,pt %ncc, .bcopy_small ! go to small copy
978 ba,pt %ncc, .bcopy_more ! otherwise go to large copy
981 sethi %hi(hw_copy_limit_8), %o3 ! Check copy limit
984 bz,pn %icc, .bcopy_small ! if zero, disable HW copy
986 bleu,pt %ncc, .bcopy_small ! go to small copy
988 ba,pt %ncc, .bcopy_more ! otherwise go to large copy
1265 * profiling and dtrace of the portions of the copy code that uses
1508 * Block copy with possibly overlapped operands.
1534 blu %ncc, .ov_bkwd ! if from < to, copy backwards
1737 * The only difference between copy{in,out} and
1740 * while copyOP returns -1 (see above). copy{in,out}_noerr set
1747 * we need to do a HW block copy operation. This saves a window
1753 * If the value for a particular limit is zero, the copy will be performed
1754 * by the plain copy loops rather than FPBLK.
1790 * This allows us to share common code for all the flavors of the copy
1857 sethi %hi(hw_copy_limit_1), %o3 ! Check copy limit
1860 bz,pn %icc, .copyout_small ! if zero, disable HW copy
1862 bleu,pt %ncc, .copyout_small ! go to small copy
1864 ba,pt %ncc, .copyout_more ! otherwise go to large copy
1870 sethi %hi(hw_copy_limit_2), %o3 ! Check copy limit
1873 bz,pn %icc, .copyout_small ! if zero, disable HW copy
1875 bleu,pt %ncc, .copyout_small ! go to small copy
1877 ba,pt %ncc, .copyout_more ! otherwise go to large copy
1881 sethi %hi(hw_copy_limit_4), %o3 ! Check copy limit
1884 bz,pn %icc, .copyout_small ! if zero, disable HW copy
1886 bleu,pt %ncc, .copyout_small ! go to small copy
1888 ba,pt %ncc, .copyout_more ! otherwise go to large copy
1891 sethi %hi(hw_copy_limit_8), %o3 ! Check copy limit
1894 bz,pn %icc, .copyout_small ! if zero, disable HW copy
1896 bleu,pt %ncc, .copyout_small ! go to small copy
1898 ba,pt %ncc, .copyout_more ! otherwise go to large copy
2220 * profiling and dtrace of the portions of the copy code that uses
2462 restore %g0, 0, %g0 ! dispose of copy window
2492 sethi %hi(hw_copy_limit_1), %o3 ! Check copy limit
2495 bz,pn %icc, .xcopyout_small ! if zero, disable HW copy
2497 bleu,pt %ncc, .xcopyout_small ! go to small copy
2499 ba,pt %ncc, .xcopyout_more ! otherwise go to large copy
2505 sethi %hi(hw_copy_limit_2), %o3 ! Check copy limit
2508 bz,pn %icc, .xcopyout_small ! if zero, disable HW copy
2510 bleu,pt %ncc, .xcopyout_small ! go to small copy
2512 ba,pt %ncc, .xcopyout_more ! otherwise go to large copy
2516 sethi %hi(hw_copy_limit_4), %o3 ! Check copy limit
2519 bz,pn %icc, .xcopyout_small ! if zero, disable HW copy
2521 bleu,pt %ncc, .xcopyout_small ! go to small copy
2523 ba,pt %ncc, .xcopyout_more ! otherwise go to large copy
2526 sethi %hi(hw_copy_limit_8), %o3 ! Check copy limit
2529 bz,pn %icc, .xcopyout_small ! if zero, disable HW copy
2531 bleu,pt %ncc, .xcopyout_small ! go to small copy
2533 ba,pt %ncc, .xcopyout_more ! otherwise go to large copy
2561 restore %g0, 0, %g0 ! dispose of copy window
2652 sethi %hi(hw_copy_limit_1), %o3 ! Check copy limit
2655 bz,pn %icc, .copyin_small ! if zero, disable HW copy
2657 bleu,pt %ncc, .copyin_small ! go to small copy
2659 ba,pt %ncc, .copyin_more ! otherwise go to large copy
2665 sethi %hi(hw_copy_limit_2), %o3 ! Check copy limit
2668 bz,pn %icc, .copyin_small ! if zero, disable HW copy
2670 bleu,pt %ncc, .copyin_small ! go to small copy
2672 ba,pt %ncc, .copyin_more ! otherwise go to large copy
2676 sethi %hi(hw_copy_limit_4), %o3 ! Check copy limit
2679 bz,pn %icc, .copyin_small ! if zero, disable HW copy
2681 bleu,pt %ncc, .copyin_small ! go to small copy
2683 ba,pt %ncc, .copyin_more ! otherwise go to large copy
2686 sethi %hi(hw_copy_limit_8), %o3 ! Check copy limit
2689 bz,pn %icc, .copyin_small ! if zero, disable HW copy
2691 bleu,pt %ncc, .copyin_small ! go to small copy
2693 ba,pt %ncc, .copyin_more ! otherwise go to large copy
3008 * profiling and dtrace of the portions of the copy code that uses
3249 restore %g0, 0, %g0 ! dispose of copy window
3279 sethi %hi(hw_copy_limit_1), %o3 ! Check copy limit
3282 bz,pn %icc, .xcopyin_small ! if zero, disable HW copy
3284 bleu,pt %ncc, .xcopyin_small ! go to small copy
3286 ba,pt %ncc, .xcopyin_more ! otherwise go to large copy
3292 sethi %hi(hw_copy_limit_2), %o3 ! Check copy limit
3295 bz,pn %icc, .xcopyin_small ! if zero, disable HW copy
3297 bleu,pt %ncc, .xcopyin_small ! go to small copy
3299 ba,pt %ncc, .xcopyin_more ! otherwise go to large copy
3303 sethi %hi(hw_copy_limit_4), %o3 ! Check copy limit
3306 bz,pn %icc, .xcopyin_small ! if zero, disable HW copy
3308 bleu,pt %ncc, .xcopyin_small ! go to small copy
3310 ba,pt %ncc, .xcopyin_more ! otherwise go to large copy
3313 sethi %hi(hw_copy_limit_8), %o3 ! Check copy limit
3316 bz,pn %icc, .xcopyin_small ! if zero, disable HW copy
3318 bleu,pt %ncc, .xcopyin_small ! go to small copy
3320 ba,pt %ncc, .xcopyin_more ! otherwise go to large copy
3348 restore %g0, 0, %g0 ! dispose of copy window
3446 sethi %hi(hw_copy_limit_1), %o3 ! Check copy limit
3449 bz,pn %icc, .copyin_ne_small ! if zero, disable HW copy
3451 bleu,pt %ncc, .copyin_ne_small ! go to small copy
3453 ba,pt %ncc, .copyin_noerr_more ! otherwise go to large copy
3459 sethi %hi(hw_copy_limit_2), %o3 ! Check copy limit
3462 bz,pn %icc, .copyin_ne_small ! if zero, disable HW copy
3464 bleu,pt %ncc, .copyin_ne_small ! go to small copy
3466 ba,pt %ncc, .copyin_noerr_more ! otherwise go to large copy
3470 sethi %hi(hw_copy_limit_4), %o3 ! Check copy limit
3473 bz,pn %icc, .copyin_ne_small ! if zero, disable HW copy
3475 bleu,pt %ncc, .copyin_ne_small ! go to small copy
3477 ba,pt %ncc, .copyin_noerr_more ! otherwise go to large copy
3480 sethi %hi(hw_copy_limit_8), %o3 ! Check copy limit
3483 bz,pn %icc, .copyin_ne_small ! if zero, disable HW copy
3485 bleu,pt %ncc, .copyin_ne_small ! go to small copy
3487 ba,pt %ncc, .copyin_noerr_more ! otherwise go to large copy
3544 sethi %hi(hw_copy_limit_1), %o3 ! Check copy limit
3547 bz,pn %icc, .copyout_ne_small ! if zero, disable HW copy
3549 bleu,pt %ncc, .copyout_ne_small ! go to small copy
3551 ba,pt %ncc, .copyout_noerr_more ! otherwise go to large copy
3557 sethi %hi(hw_copy_limit_2), %o3 ! Check copy limit
3560 bz,pn %icc, .copyout_ne_small ! if zero, disable HW copy
3562 bleu,pt %ncc, .copyout_ne_small ! go to small copy
3564 ba,pt %ncc, .copyout_noerr_more ! otherwise go to large copy
3568 sethi %hi(hw_copy_limit_4), %o3 ! Check copy limit
3571 bz,pn %icc, .copyout_ne_small ! if zero, disable HW copy
3573 bleu,pt %ncc, .copyout_ne_small ! go to small copy
3575 ba,pt %ncc, .copyout_noerr_more ! otherwise go to large copy
3578 sethi %hi(hw_copy_limit_8), %o3 ! Check copy limit
3581 bz,pn %icc, .copyout_ne_small ! if zero, disable HW copy
3583 bleu,pt %ncc, .copyout_ne_small ! go to small copy
3585 ba,pt %ncc, .copyout_noerr_more ! otherwise go to large copy