www.pudn.com > LFYOS.zip > system.s


.global do_idle,reload_cr3_flag 
.global system_call_interruption_routine,timer_interruption_routine 
 
reload_cr3_flag: 
	.long 10 
 
do_idle: 
	sti 
	nop 
	nop 
	cli 
	ret 
system_call_interruption_routine: 
	call save_parameter 
	cmpl $(0x00),%edi 
	je restore_parameter 
	movl $(system_call_routine),0x48(%edi) 
	jmp restore_parameter 
 
timer_interruption_routine: 
	call save_parameter 
	cmpl $(0x00),%edi 
	je 2f 
	movl $(time_routine),0x48(%edi) 
	jmp restore_parameter 
2: 
	call lock_os_kernel 
	cmpl $(0x00),%eax 
	jne 2b 
	call kernel_semaphore_time_deal 
	call unlock_os_kernel 
	jmp restore_parameter