Avoid flushing the same line multiple times on loongson.

* 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.
This commit is contained in:
Vladimir 'phcoder' Serbinenko 2012-06-22 23:36:33 +02:00
parent d1718e7d2b
commit ed24c31201
3 changed files with 50 additions and 7 deletions

View file

@ -14,17 +14,27 @@
cache 1, 1($t0)
cache 1, 2($t0)
cache 1, 3($t0)
#endif
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