Subversion Repositories freemyipod

Rev

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

Rev 15 Rev 43
Line 91... Line 91...
91
	ldr	sp, =_irqstackend
91
	ldr	sp, =_irqstackend
92
	msr	cpsr_c, #0xd7
92
	msr	cpsr_c, #0xd7
93
	ldr	sp, =_abortstackend
93
	ldr	sp, =_abortstackend
94
	msr	cpsr_c, #0xdb
94
	msr	cpsr_c, #0xdb
95
	ldr	sp, =_abortstackend
95
	ldr	sp, =_abortstackend
96
	msr	cpsr_c, #0x13
96
	msr	cpsr_c, #0x1f
97
	ldr	sp, =_initstackend
97
	ldr	sp, =_initstackend
98
	bl	init
98
	bl	init
99
	bl	context_switch
99
	bl	context_switch
100
	mov	r0, #0
100
	mov	r0, #0
101
idleloop:
101
idleloop:
Line 127... Line 127...
127
.size reset, .-reset
127
.size reset, .-reset
128
.size hang, .-hang
128
.size hang, .-hang
129
 
129
 
130
.type reset_handler, %function
130
.type reset_handler, %function
131
reset_handler:
131
reset_handler:
-
 
132
	mov	r0, #0
132
	adr	r0, reset_text
133
	adr	r1, reset_text
133
	b	panic
134
	b	panic
134
reset_text:
135
reset_text:
135
	.ascii	"Hit reset vector!\0"
136
	.ascii	"Hit reset vector!\0"
136
.size reset_handler, .-reset_handler
137
.size reset_handler, .-reset_handler
137
 
138
 
138
.type undef_instr_handler, %function
139
.type undef_instr_handler, %function
139
undef_instr_handler:
140
undef_instr_handler:
-
 
141
	mov	r0, #0
140
	adr	r0, undef_instr_text
142
	adr	r1, undef_instr_text
141
	sub	r0, lr, #4
143
	sub	r2, lr, #4
142
	b	panicf
144
	b	panicf
143
.size undef_instr_handler, .-undef_instr_handler
145
.size undef_instr_handler, .-undef_instr_handler
144
 
146
 
145
.type prefetch_abort_handler, %function
147
.type prefetch_abort_handler, %function
146
prefetch_abort_handler:
148
prefetch_abort_handler:
-
 
149
	mov	r0, #0
147
	adr	r0, prefetch_abort_text
150
	adr	r1, prefetch_abort_text
148
	sub	r0, lr, #4
151
	sub	r2, lr, #4
149
	b	panicf
152
	b	panicf
150
.size prefetch_abort_handler, .-prefetch_abort_handler
153
.size prefetch_abort_handler, .-prefetch_abort_handler
151
 
154
 
152
.type data_abort_handler, %function
155
.type data_abort_handler, %function
153
data_abort_handler:
156
data_abort_handler:
-
 
157
	mov	r0, #0
154
	adr	r0, data_abort_text
158
	adr	r1, data_abort_text
155
	sub	r0, lr, #4
159
	sub	r2, lr, #4
156
	b	panicf
160
	b	panicf
157
.size data_abort_handler, .-data_abort_handler
161
.size data_abort_handler, .-data_abort_handler
158
 
162
 
159
.type reserved_handler, %function
163
.type reserved_handler, %function
160
reserved_handler:
164
reserved_handler:
-
 
165
	mov	r0, #0
161
	adr	r0, reserved_text
166
	adr	r1, reserved_text
162
	b	panic
167
	b	panic
163
.size reserved_handler, .-reserved_handler
168
.size reserved_handler, .-reserved_handler
164
 
169
 
165
.type fiq_handler, %function
170
.type fiq_handler, %function
166
fiq_handler:
171
fiq_handler:
-
 
172
	mov	r0, #2
167
	adr	r0, fiq_text
173
	adr	r1, fiq_text
168
	b	panic
174
	b	panic
169
.size fiq_handler, .-fiq_handler
175
.size fiq_handler, .-fiq_handler
170
 
176
 
171
.type syscall_handler, %function
-
 
172
syscall_handler:
-
 
173
	adr	r0, syscall_text
-
 
174
	b	panic
-
 
175
.size syscall_handler, .-syscall_handler
-
 
176
 
-
 
177
undef_instr_text:
177
undef_instr_text:
178
	.ascii	"Undefined instruction at %08X!\0"
178
	.ascii	"Undefined instruction at %08X!\0"
179
 
179
 
180
prefetch_abort_text:
180
prefetch_abort_text:
181
	.ascii	"Prefetch abort at %08X!\0"
181
	.ascii	"Prefetch abort at %08X!\0"