Subversion Repositories HelenOS

Rev

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

Rev 2787 Rev 3425
Line 63... Line 63...
63
	mtsrr1 r31
63
	mtsrr1 r31
64
	
64
	
65
	# set stack
65
	# set stack
66
	
66
	
67
	mr sp, r4
67
	mr sp, r4
-
 
68
 
-
 
69
	# %r3 is defined to hold pcb_ptr - set it to 0
-
 
70
 
-
 
71
	xor r3, r3, r3
68
	
72
	
69
	# jump to userspace
73
	# jump to userspace
70
	
74
	
71
	rfi
75
	rfi
72
 
76
 
Line 197... Line 201...
197
	lwz sp, 156(sp)
201
	lwz sp, 156(sp)
198
 
202
 
199
	rfi
203
	rfi
200
	
204
	
201
memsetb:
205
memsetb:
202
	rlwimi r5, r5, 8, 16, 23
-
 
203
	rlwimi r5, r5, 16, 0, 15
-
 
204
	
-
 
205
	addi r14, r3, -4
-
 
206
	
-
 
207
	cmplwi 0, r4, 4
-
 
208
	blt 7f
-
 
209
	
-
 
210
	stwu r5, 4(r14)
-
 
211
	beqlr
-
 
212
	
-
 
213
	andi. r15, r14, 3
-
 
214
	add r4, r15, r4
-
 
215
	subf r14, r15, r14
-
 
216
	srwi r15, r4, 2
-
 
217
	mtctr r15
-
 
218
	
-
 
219
	bdz 6f
-
 
220
	
-
 
221
	1:
-
 
222
		stwu r5, 4(r14)
-
 
223
		bdnz 1b
-
 
224
	
-
 
225
	6:
-
 
226
	
-
 
227
	andi. r4, r4, 3
-
 
228
	
-
 
229
	7:
-
 
230
	
-
 
231
	cmpwi 0, r4, 0
-
 
232
	beqlr
-
 
233
	
-
 
234
	mtctr r4
-
 
235
	addi r6, r6, 3
-
 
236
	
-
 
237
	8:
-
 
238
	
-
 
239
	stbu r5, 1(r14)
-
 
240
	bdnz 8b
206
	b _memsetb
241
	
-
 
242
	blr
-
 
243
 
207
 
244
memcpy:
208
memcpy:
245
memcpy_from_uspace:
209
memcpy_from_uspace:
246
memcpy_to_uspace:
210
memcpy_to_uspace:
247
 
211
 
Line 306... Line 270...
306
	mtctr r7
270
	mtctr r7
307
	b 1b
271
	b 1b
308
 
272
 
309
memcpy_from_uspace_failover_address:
273
memcpy_from_uspace_failover_address:
310
memcpy_to_uspace_failover_address:
274
memcpy_to_uspace_failover_address:
311
	b memcpy_from_uspace_failover_address
275
	# return zero, failure
-
 
276
	xor r3, r3, r3
-
 
277
	blr