mirror of
				https://git.proxmox.com/git/grub2
				synced 2025-10-31 18:58:27 +00:00 
			
		
		
		
	 ed24c31201
			
		
	
	
		ed24c31201
		
	
	
	
	
		
			
			* grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]: Step in 32 bytes and not 1 byte. * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Likewise.
		
			
				
	
	
		
			41 lines
		
	
	
		
			675 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			675 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
| 	move $t2, $a0
 | |
| 	addu $t3, $a0, $a1
 | |
| 	srl $t2, $t2, 5
 | |
| 	sll $t2, $t2, 5
 | |
| 	addu $t3, $t3, 0x1f
 | |
| 	srl $t3, $t3, 5
 | |
| 	sll $t3, $t3, 5
 | |
| 	move $t0, $t2
 | |
| 	subu $t1, $t3, $t2
 | |
| 1:
 | |
| 	cache 1, 0($t0)
 | |
| 	/* All four ways.  */
 | |
| #ifdef GRUB_MACHINE_MIPS_LOONGSON
 | |
| 	cache 1, 1($t0)
 | |
| 	cache 1, 2($t0)
 | |
| 	cache 1, 3($t0)
 | |
| 	addiu $t1, $t1, -0x20
 | |
| 	bne $t1, $zero, 1b
 | |
| 	 addiu $t0, $t0, 0x20
 | |
| 
 | |
| #else
 | |
| 	addiu $t1, $t1, -0x4
 | |
| 	bne $t1, $zero, 1b
 | |
| 	 addiu $t0, $t0, 0x4
 | |
| #endif
 | |
| 	sync
 | |
| 	move $t0, $t2
 | |
| 	subu $t1, $t3, $t2
 | |
| 2:
 | |
| 	cache 0, 0($t0)
 | |
| #ifdef GRUB_MACHINE_MIPS_LOONGSON
 | |
| 	addiu $t1, $t1, -0x20
 | |
| 	bne $t1, $zero, 2b
 | |
| 	 addiu $t0, $t0, 0x20
 | |
| #else
 | |
| 	addiu $t1, $t1, -0x4
 | |
| 	bne $t1, $zero, 2b
 | |
| 	 addiu $t0, $t0, 0x4
 | |
| #endif
 | |
| 	sync
 |