diff --git a/[refs] b/[refs] index 61979fda750d..7437488a9020 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e92b92571c85dfa1cdc56e88566134c51ae1d12b +refs/heads/master: 0d4bc95b9c205a7374afbe93b38d9c2757a45862 diff --git a/trunk/arch/sparc64/lib/NGcopy_to_user.S b/trunk/arch/sparc64/lib/NGcopy_to_user.S index 4a12395b4502..34112d5054ef 100644 --- a/trunk/arch/sparc64/lib/NGcopy_to_user.S +++ b/trunk/arch/sparc64/lib/NGcopy_to_user.S @@ -37,4 +37,4 @@ nop #endif -#include "U3memcpy.S" +#include "NGmemcpy.S" diff --git a/trunk/arch/sparc64/lib/NGmemcpy.S b/trunk/arch/sparc64/lib/NGmemcpy.S index a39aa3bd4345..8e522b3dc095 100644 --- a/trunk/arch/sparc64/lib/NGmemcpy.S +++ b/trunk/arch/sparc64/lib/NGmemcpy.S @@ -5,11 +5,15 @@ #ifdef __KERNEL__ #include +#include #define GLOBAL_SPARE %g7 -#define RESTORE_ASI wr %g0, ASI_AIUS, %asi +#define RESTORE_ASI(TMP) \ + ldub [%g6 + TI_CURRENT_DS], TMP; \ + wr TMP, 0x0, %asi; #else #define GLOBAL_SPARE %g5 -#define RESTORE_ASI +#define RESTORE_ASI(TMP) \ + wr %g0, ASI_PNF, %asi #endif #ifndef STORE_ASI @@ -246,7 +250,7 @@ FUNC_NAME: /* %o0=dst, %o1=src, %o2=len */ /* %o2 contains any final bytes still needed to be copied * over. If anything is left, we copy it one byte at a time. */ - RESTORE_ASI + RESTORE_ASI(%o3) brz,pt %o2, 85f sub %o0, %o1, %o3 ba,a,pt %XCC, 90f