55 lines
		
	
	
	
		
			602 B
			
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
		
		
			
		
	
	
			55 lines
		
	
	
	
		
			602 B
			
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
|   | /* | ||
|  |  * arch/alpha/lib/ev6-clear_page.S | ||
|  |  * | ||
|  |  * Zero an entire page. | ||
|  |  */ | ||
|  | 
 | ||
|  |         .text | ||
|  |         .align 4
 | ||
|  |         .global clear_page
 | ||
|  |         .ent clear_page
 | ||
|  | clear_page: | ||
|  |         .prologue 0
 | ||
|  | 
 | ||
|  | 	lda	$0,128 | ||
|  | 	lda	$1,125 | ||
|  | 	addq	$16,64,$2 | ||
|  | 	addq	$16,128,$3 | ||
|  | 
 | ||
|  | 	addq	$16,192,$17 | ||
|  | 	wh64	($16) | ||
|  | 	wh64	($2) | ||
|  | 	wh64	($3) | ||
|  | 
 | ||
|  | 1:	wh64	($17) | ||
|  | 	stq	$31,0($16) | ||
|  | 	subq	$0,1,$0 | ||
|  | 	subq	$1,1,$1 | ||
|  | 
 | ||
|  | 	stq	$31,8($16) | ||
|  | 	stq	$31,16($16) | ||
|  | 	addq	$17,64,$2 | ||
|  | 	nop | ||
|  | 
 | ||
|  | 	stq	$31,24($16) | ||
|  | 	stq	$31,32($16) | ||
|  | 	cmovgt	$1,$2,$17 | ||
|  | 	nop | ||
|  | 
 | ||
|  | 	stq	$31,40($16) | ||
|  | 	stq	$31,48($16) | ||
|  | 	nop | ||
|  | 	nop | ||
|  | 
 | ||
|  | 	stq	$31,56($16) | ||
|  | 	addq	$16,64,$16 | ||
|  | 	nop | ||
|  | 	bne	$0,1b | ||
|  | 
 | ||
|  | 	ret | ||
|  | 	nop | ||
|  | 	nop | ||
|  | 	nop | ||
|  | 
 | ||
|  | 	.end clear_page
 |