Subversion Repositories freemyipod

Rev

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

Rev 594 Rev 595
Line 30... Line 30...
30
yield:
30
yield:
31
	mrs	r1, cpsr
31
	mrs	r1, cpsr
32
	msr	cpsr_c, #0xdf
32
	msr	cpsr_c, #0xdf
33
	ldr	r0, =current_thread
33
	ldr	r0, =current_thread
34
	ldr	r0, [r0]
34
	ldr	r0, [r0]
35
	stmia	r0!, {r0-r14}
35
	stmia	r0, {r0-r14}
36
	str	lr, [r0], #4
36
	str	lr, [r0,#0x3c]
37
	str	r1, [r0]
37
	str	r1, [r0,#0x40]
38
	msr	cpsr_c, #0xd2
38
	msr	cpsr_c, #0xd2
-
 
39
	mov	r4, r0
39
	bl	scheduler_pause_accounting
40
	bl	scheduler_pause_accounting
40
	adr	lr, resume_thread
41
	adr	lr, resume_thread
41
	mov	r0, #-1
42
	mov	r0, #0
-
 
43
	mov	r1, r4
42
	b	scheduler_switch
44
	b	scheduler_switch
43
.size yield, .-yield
45
.size yield, .-yield
44
 
46
 
45
.global syscall_handler
47
.global syscall_handler
46
.type syscall_handler, %function
48
.type syscall_handler, %function
Line 78... Line 80...
78
	mov	r1, lr
80
	mov	r1, lr
79
	msr	cpsr_c, #0xd2
81
	msr	cpsr_c, #0xd2
80
	stmia	r5, {r0-r4}
82
	stmia	r5, {r0-r4}
81
	bl	scheduler_pause_accounting
83
	bl	scheduler_pause_accounting
82
	adr	lr, resume_thread
84
	adr	lr, resume_thread
83
	mov	r0, #-1
85
	mov	r0, #0
-
 
86
	mov	r1, #0
84
	b	scheduler_switch
87
	b	scheduler_switch
85
.size syscall_handler, .-syscall_handler
88
.size syscall_handler, .-syscall_handler
86
 
89
 
87
.global irq_handler
90
.global irq_handler
88
.type irq_handler, %function
91
.type irq_handler, %function