Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 1292 → Rev 1293

//kernel/trunk/arch/mips32/include/exception.h
95,7 → 95,7
 
static inline void istate_set_retaddr(istate_t *istate, __address retaddr)
{
/* TODO */
istate->epc = retaddr;
}
 
extern void exception(istate_t *istate);
//kernel/trunk/arch/mips32/src/asm.S
66,13 → 66,40
memcpy:
memcpy_from_uspace:
memcpy_to_uspace:
j _memcpy
nop
srl $t1,$a2,0x2
beqz $t1,1f
move $t0,$zero
move $a3,$zero
2:
addu $v0,$a1,$a3
lw $v1,0($v0)
addiu $t0,$t0,1
addu $v0,$a0,$a3
sw $v1,0($v0)
bne $t0,$t1,2b
addiu $a3,$a3,4
1:
andi $a2,$a2,0x3
beqz $a2,3f
move $a3,$zero
sll $v0,$t0,0x2
addu $t1,$a0,$v0
addu $t0,$v0,$a1
4:
addu $v0,$t0,$a3
lbu $a0,0($v0)
addu $v1,$t1,$a3
addiu $a3,$a3,1
bne $a3,$a2,4b
sb $a0,0($v1)
3:
jr $ra
move $v0,$a1
 
memcpy_from_uspace_failover_address:
memcpy_to_uspace_failover_address:
j memcpy_from_uspace_failover_address
nop
jr $ra
move $v0, $zero
 
 
 
//kernel/trunk/arch/mips32/src/start.S
284,9 → 284,8
sw $sp,EOFFSET_SP($k0)
add $sp, $k0, 0
 
jal tlb_refill /* tlb_refill(register_space) */
add $a0, $sp, 0
jal tlb_refill /* tlb_refill(register_space) */
nop
 
REGISTERS_LOAD $sp