Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 3274 → Rev 3249

/trunk/kernel/generic/src/lib/memstr.c
74,7 → 74,7
((uint8_t *)(((unative_t *) dst) + i))[j] = ((uint8_t *)(((unative_t *) src) + i))[j];
}
return (char *) dst;
return (char *) src;
}
 
/** Fill block of memory
/trunk/kernel/arch/ia32/src/asm.S
71,7 → 71,7
* @param MEMCPY_SRC(%esp) Source address.
* @param MEMCPY_SIZE(%esp) Size.
*
* @return MEMCPY_DST(%esp) on success and 0 on failure.
* @return MEMCPY_SRC(%esp) on success and 0 on failure.
*/
memcpy:
memcpy_from_uspace:
96,7 → 96,7
0:
movl %edx, %edi
movl %eax, %esi
movl MEMCPY_DST(%esp), %eax /* MEMCPY_DST(%esp), success */
movl MEMCPY_SRC(%esp), %eax /* MEMCPY_SRC(%esp), success */
ret
/*
/trunk/kernel/arch/mips32/src/asm.S
71,7 → 71,6
and $v0,$v0,$v1
beq $a1,$v0,3f
move $t0,$a0
move $t2,$a0 # save dst
 
0:
beq $a2,$zero,2f
87,7 → 86,7
 
2:
jr $ra
move $v0,$t2
move $v0,$a1
 
3:
addiu $v0,$a0,3
127,7 → 126,7
sb $a0,0($v1)
 
jr $ra
move $v0,$t2
move $v0,$a1
 
memcpy_from_uspace_failover_address:
memcpy_to_uspace_failover_address:
/trunk/kernel/arch/sparc64/src/asm.S
41,7 → 41,6
*/
.global memcpy
memcpy:
mov %o0, %o3 ! save dst
add %o1, 7, %g1
and %g1, -8, %g1
cmp %o1, %g1
60,7 → 59,7
mov %g2, %g3
2:
jmp %o7 + 8 ! exit point
mov %o3, %o0
mov %o1, %o0
3:
and %g1, -8, %g1
cmp %o0, %g1
94,7 → 93,7
mov %g2, %g3
 
jmp %o7 + 8 ! exit point
mov %o3, %o0
mov %o1, %o0
 
/*
* Almost the same as memcpy() except the loads are from userspace.
101,7 → 100,6
*/
.global memcpy_from_uspace
memcpy_from_uspace:
mov %o0, %o3 ! save dst
add %o1, 7, %g1
and %g1, -8, %g1
cmp %o1, %g1
120,7 → 118,7
mov %g2, %g3
2:
jmp %o7 + 8 ! exit point
mov %o3, %o0
mov %o1, %o0
3:
and %g1, -8, %g1
cmp %o0, %g1
154,7 → 152,7
mov %g2, %g3
 
jmp %o7 + 8 ! exit point
mov %o3, %o0
mov %o1, %o0
 
/*
* Almost the same as memcpy() except the stores are to userspace.
161,7 → 159,6
*/
.global memcpy_to_uspace
memcpy_to_uspace:
mov %o0, %o3 ! save dst
add %o1, 7, %g1
and %g1, -8, %g1
cmp %o1, %g1
180,7 → 177,7
mov %g2, %g3
2:
jmp %o7 + 8 ! exit point
mov %o3, %o0
mov %o1, %o0
3:
and %g1, -8, %g1
cmp %o0, %g1
214,7 → 211,7
mov %g2, %g3
 
jmp %o7 + 8 ! exit point
mov %o3, %o0
mov %o1, %o0
 
.global memcpy_from_uspace_failover_address
.global memcpy_to_uspace_failover_address
/trunk/kernel/arch/ia64/src/asm.S
51,7 → 51,7
 
adds r14 = 7, in1
mov r2 = ar.lc
mov r8 = in0 ;;
mov r8 = in1 ;;
and r14 = -8, r14 ;;
cmp.ne p6, p7 = r14, in1
(p7) br.cond.dpnt 3f ;;
/trunk/kernel/arch/arm32/src/asm.S
45,8 → 45,7
add r3, r1, #3
bic r3, r3, #3
cmp r1, r3
stmdb sp!, {r4, r5, lr}
mov r5, r0 /* save dst */
stmdb sp!, {r4, lr}
beq 4f
1:
cmp r2, #0
59,8 → 58,8
cmp ip, r2
bne 2b
3:
mov r0, r5
ldmia sp!, {r4, r5, pc}
mov r0, r1
ldmia sp!, {r4, pc}
4:
add r3, r0, #3
bic r3, r3, #3
95,5 → 94,5
 
memcpy_from_uspace_failover_address:
memcpy_to_uspace_failover_address:
mov r0, #0
ldmia sp!, {r4, r5, pc}
mov r0, #0
ldmia sp!, {r4, pc}
/trunk/kernel/arch/ia32xen/src/asm.S
67,7 → 67,7
* @param MEMCPY_SRC(%esp) Source address.
* @param MEMCPY_SIZE(%esp) Size.
*
* @return MEMCPY_DST(%esp) on success and 0 on failure.
* @return MEMCPY_SRC(%esp) on success and 0 on failure.
*/
memcpy:
memcpy_from_uspace:
92,7 → 92,7
0:
movl %edx, %edi
movl %eax, %esi
movl MEMCPY_DST(%esp), %eax /* MEMCPY_DST(%esp), success */
movl MEMCPY_SRC(%esp), %eax /* MEMCPY_SRC(%esp), success */
ret
/*
/trunk/kernel/arch/amd64/src/asm_utils.S
98,12 → 98,12
* @param MEMCPY_SRC Source address.
* @param MEMCPY_SIZE Number of bytes to copy.
*
* @retrun MEMCPY_DST on success, 0 on failure.
* @retrun MEMCPY_SRC on success, 0 on failure.
*/
memcpy:
memcpy_from_uspace:
memcpy_to_uspace:
movq MEMCPY_DST, %rax
movq MEMCPY_SRC, %rax
 
movq MEMCPY_SIZE, %rcx
shrq $3, %rcx /* size / 8 */