Changeset f58af46 in mainline
- Timestamp:
- 2006-05-05T15:14:34Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- c6c59ccd
- Parents:
- e8194664
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/mips32/include/exception.h
re8194664 rf58af46 96 96 static inline void istate_set_retaddr(istate_t *istate, __address retaddr) 97 97 { 98 /* TODO */98 istate->epc = retaddr; 99 99 } 100 100 -
arch/mips32/src/asm.S
re8194664 rf58af46 67 67 memcpy_from_uspace: 68 68 memcpy_to_uspace: 69 j _memcpy 70 nop 69 srl $t1,$a2,0x2 70 beqz $t1,1f 71 move $t0,$zero 72 move $a3,$zero 73 2: 74 addu $v0,$a1,$a3 75 lw $v1,0($v0) 76 addiu $t0,$t0,1 77 addu $v0,$a0,$a3 78 sw $v1,0($v0) 79 bne $t0,$t1,2b 80 addiu $a3,$a3,4 81 1: 82 andi $a2,$a2,0x3 83 beqz $a2,3f 84 move $a3,$zero 85 sll $v0,$t0,0x2 86 addu $t1,$a0,$v0 87 addu $t0,$v0,$a1 88 4: 89 addu $v0,$t0,$a3 90 lbu $a0,0($v0) 91 addu $v1,$t1,$a3 92 addiu $a3,$a3,1 93 bne $a3,$a2,4b 94 sb $a0,0($v1) 95 3: 96 jr $ra 97 move $v0,$a1 71 98 72 99 memcpy_from_uspace_failover_address: 73 100 memcpy_to_uspace_failover_address: 74 j memcpy_from_uspace_failover_address75 nop101 jr $ra 102 move $v0, $zero 76 103 77 104 -
arch/mips32/src/start.S
re8194664 rf58af46 285 285 add $sp, $k0, 0 286 286 287 jal tlb_refill /* tlb_refill(register_space) */ 287 288 add $a0, $sp, 0 288 jal tlb_refill /* tlb_refill(register_space) */289 nop290 289 291 290 REGISTERS_LOAD $sp -
generic/include/syscall/copy.h
re8194664 rf58af46 38 38 extern char memcpy_to_uspace_failover_address; 39 39 40 extern int copy_from_uspace(void *dst, void *uspace_src, size_t size);41 extern int copy_to_uspace(void *dst_uspace, void *src, size_t size);40 extern int copy_from_uspace(void *dst, const void *uspace_src, size_t size); 41 extern int copy_to_uspace(void *dst_uspace, const void *src, size_t size); 42 42 43 43 /* 44 44 * This interface must be implemented by each architecture. 45 45 */ 46 extern int memcpy_from_uspace(void *dst, void *uspace_src, size_t size);47 extern int memcpy_to_uspace(void *uspace_dst, void *src, size_t size);46 extern int memcpy_from_uspace(void *dst, const void *uspace_src, size_t size); 47 extern int memcpy_to_uspace(void *uspace_dst, const void *src, size_t size); 48 48 49 49 #endif -
generic/src/ipc/sysipc.c
re8194664 rf58af46 309 309 call = ipc_call_alloc(0); 310 310 rc = copy_from_uspace(&call->data.args, &data->args, sizeof(call->data.args)); 311 if (rc != 0) 311 if (rc != 0) { 312 ipc_call_free(call); 312 313 return (__native) rc; 314 } 313 315 if (!(res=request_preprocess(call))) 314 316 ipc_call(phone, call); -
generic/src/syscall/copy.c
re8194664 rf58af46 55 55 * @return 0 on success or error code from @ref errno.h. 56 56 */ 57 int copy_from_uspace(void *dst, void *uspace_src, size_t size)57 int copy_from_uspace(void *dst, const void *uspace_src, size_t size) 58 58 { 59 59 ipl_t ipl; … … 96 96 * @return 0 on success or error code from @ref errno.h. 97 97 */ 98 int copy_to_uspace(void *uspace_dst, void *src, size_t size)98 int copy_to_uspace(void *uspace_dst, const void *src, size_t size) 99 99 { 100 100 ipl_t ipl; -
generic/src/syscall/syscall.c
re8194664 rf58af46 44 44 #include <synch/futex.h> 45 45 #include <ddi/ddi.h> 46 #include <syscall/copy.h> 46 47 47 48 static __native sys_io(int fd, const void * buf, size_t count) { … … 50 51 51 52 size_t i; 53 char str[10]; 52 54 53 55 for (i = 0; i < count; i++)
Note:
See TracChangeset
for help on using the changeset viewer.