Subversion Repositories HelenOS-historic

Rev

Rev 1222 | Rev 1293 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1222 Rev 1278
Line 251... Line 251...
251
	ori $t0, $t0, 0x1           # Set IE
251
	ori $t0, $t0, 0x1           # Set IE
252
 
252
 
253
	sw $t2,SS_STATUS($sp)
253
	sw $t2,SS_STATUS($sp)
254
	mtc0 $t0, $status
254
	mtc0 $t0, $status
255
 
255
 
256
	li $t4, 2                   # SYS_INT_CONTROL
-
 
257
	beq $t4, $v0, sysc_int_control
-
 
258
	nop
-
 
259
	
-
 
260
	# CALL Syscall handler
256
	# CALL Syscall handler
261
	jal syscall_handler
257
	jal syscall_handler
262
	sw $v0, SS_ARG4($sp)        # save v0 - arg4 to stack
258
	sw $v0, SS_ARG4($sp)        # save v0 - arg4 to stack
263
 
259
 
264
sysc_exit:	
-
 
265
	# restore status
260
	# restore status
266
	mfc0 $t0, $status
261
	mfc0 $t0, $status
267
	lw $t1,SS_STATUS($sp)
262
	lw $t1,SS_STATUS($sp)
268
 
263
 
269
	# Change back to EXL=1(from last exception), otherwise
264
	# Change back to EXL=1(from last exception), otherwise
Line 279... Line 274...
279
	mtc0 $t0, $epc
274
	mtc0 $t0, $epc
280
	
275
	
281
	lw $sp,SS_SP($sp) # restore sp
276
	lw $sp,SS_SP($sp) # restore sp
282
	
277
	
283
	eret
278
	eret
284
	
279
		
285
sysc_int_control:
-
 
286
	jal ddi_int_control
-
 
287
	addi $a1, $sp, SS_STATUS
-
 
288
	
-
 
289
	j sysc_exit
-
 
290
	nop
-
 
291
	
-
 
292
tlb_refill_handler:
280
tlb_refill_handler:
293
	KERNEL_STACK_TO_K0
281
	KERNEL_STACK_TO_K0
294
	sub $k0, REGISTER_SPACE
282
	sub $k0, REGISTER_SPACE
295
	REGISTERS_STORE_AND_EXC_RESET $k0
283
	REGISTERS_STORE_AND_EXC_RESET $k0
296
	sw $sp,EOFFSET_SP($k0)
284
	sw $sp,EOFFSET_SP($k0)