Subversion Repositories freemyipod

Rev

Rev 312 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 312 Rev 389
Line 76... Line 76...
76
	msr	cpsr_c, #0xdf
76
	msr	cpsr_c, #0xdf
77
	mov	r0, sp
77
	mov	r0, sp
78
	mov	r1, lr
78
	mov	r1, lr
79
	msr	cpsr_c, #0xd2
79
	msr	cpsr_c, #0xd2
80
	stmia	r5, {r0-r4}
80
	stmia	r5, {r0-r4}
-
 
81
	bl	scheduler_pause_accounting
81
	adr	lr, resume_thread
82
	adr	lr, resume_thread
82
	mov	r0, #-1
83
	mov	r0, #-1
83
	b	scheduler_switch
84
	b	scheduler_switch
84
.size syscall_handler, .-syscall_handler
85
.size syscall_handler, .-syscall_handler
85
 
86
 
Line 108... Line 109...
108
	beq	was_in_svc_mode
109
	beq	was_in_svc_mode
109
	msr	cpsr_c, r5
110
	msr	cpsr_c, r5
110
	sub	r3, lr, #4
111
	sub	r3, lr, #4
111
enter_irqhandler:
112
enter_irqhandler:
112
	stmia	r12, {r0-r4}
113
	stmia	r12, {r0-r4}
-
 
114
	bl	scheduler_pause_accounting
113
	bl	irqhandler
115
	bl	irqhandler
114
@ fallthrough
116
@ fallthrough
115
 
117
 
116
.global resume_thread
118
.global resume_thread
117
.type resume_thread, %function
119
.type resume_thread, %function
118
resume_thread:
120
resume_thread:
-
 
121
	bl	scheduler_resume_accounting
119
	ldr	lr, =current_thread
122
	ldr	lr, =current_thread
120
	ldr	lr, [lr]
123
	ldr	lr, [lr]
121
	mov	r0, lr
124
	mov	r0, lr
122
	ldr	r1, [lr,#0x40]
125
	ldr	r1, [lr,#0x40]
123
	ldr	lr, [lr,#0x3c]
126
	ldr	lr, [lr,#0x3c]