mirror of
				https://git.proxmox.com/git/grub2
				synced 2025-11-04 12:55:16 +00:00 
			
		
		
		
	mips_attributes was introduced to work around clang problems with
-msoft-float. Those problems are now fixed and moreover .gnu_attributes
itself is unportable and creates problem with clang.
Revert "mips: Fix soft-float handling."
This partially reverts commit 6a4ecd276e.
		
	
			
		
			
				
	
	
		
			69 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
 | 
						|
#include <grub/symbol.h>
 | 
						|
 | 
						|
	.set noreorder
 | 
						|
	.set nomacro
 | 
						|
 | 
						|
FUNCTION (grub_arch_sync_caches)
 | 
						|
#include "cache_flush.S"
 | 
						|
	j $ra
 | 
						|
 | 
						|
FUNCTION (grub_arch_sync_dma_caches)
 | 
						|
	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_op 1, 0($t0)
 | 
						|
#ifdef GRUB_MACHINE_MIPS_LOONGSON
 | 
						|
	cache_op 1, 1($t0)
 | 
						|
	cache_op 1, 2($t0)
 | 
						|
	cache_op 1, 3($t0)
 | 
						|
 | 
						|
	addiu $t1, $t1, -0x20
 | 
						|
	bne $t1, $zero, 1b
 | 
						|
	 addiu $t0, $t0, 0x20
 | 
						|
#else
 | 
						|
	addiu $t1, $t1, -4
 | 
						|
	bne $t1, $zero, 1b
 | 
						|
	 addiu $t0, $t0, 0x4
 | 
						|
#endif
 | 
						|
	sync_op
 | 
						|
	move $t0, $t2
 | 
						|
	subu $t1, $t3, $t2
 | 
						|
2:
 | 
						|
#ifdef GRUB_MACHINE_MIPS_LOONGSON
 | 
						|
	cache_op 0, 0($t0)
 | 
						|
	addiu $t1, $t1, -0x20
 | 
						|
	bne $t1, $zero, 2b
 | 
						|
	 addiu $t0, $t0, 0x20
 | 
						|
#else
 | 
						|
	cache_op 0, 0($t0)
 | 
						|
	addiu $t1, $t1, -4
 | 
						|
	bne $t1, $zero, 2b
 | 
						|
	 addiu $t0, $t0, 0x4
 | 
						|
#endif
 | 
						|
	sync_op
 | 
						|
	move $t0, $t2
 | 
						|
	subu $t1, $t3, $t2
 | 
						|
2:
 | 
						|
#ifdef GRUB_MACHINE_MIPS_LOONGSON
 | 
						|
	cache_op 23, 0($t0)
 | 
						|
	addiu $t1, $t1, -0x20
 | 
						|
	bne $t1, $zero, 2b
 | 
						|
	 addiu $t0, $t0, 0x20
 | 
						|
#else
 | 
						|
	cache_op 23, 0($t0)
 | 
						|
	addiu $t1, $t1, -0x4
 | 
						|
	bne $t1, $zero, 2b
 | 
						|
	 addiu $t0, $t0, 0x4
 | 
						|
#endif
 | 
						|
	sync_op
 | 
						|
 | 
						|
	jr $ra
 |