Improved cache handling

This commit is contained in:
Vladimir 'phcoder' Serbinenko 2009-11-22 02:56:49 +01:00
parent 6755a5c359
commit 42810eb1a0
2 changed files with 4 additions and 8 deletions

View file

@ -6,8 +6,6 @@ FUNCTION (grub_arch_sync_caches)
repeat: repeat:
cache 1, 0($a0) cache 1, 0($a0)
cache 0, 0($a0) cache 0, 0($a0)
cache 3, 0($a0)
cache 0, 0($a0)
addiu $a0, $a0, 1 addiu $a0, $a0, 1
addiu $a1, $a1, 0xffff addiu $a1, $a1, 0xffff
bne $a1, $zero, repeat bne $a1, $zero, repeat

View file

@ -30,14 +30,13 @@ VARIABLE (grub_relocator32_forward_start)
copycont1: copycont1:
lb $11,0($8) lb $11,0($8)
sb $11,0($9) sb $11,0($9)
cache 1, 0($9)
cache 0, 0($9)
addiu $8, $8, 0x1 addiu $8, $8, 0x1
addiu $9, $9, 0x1 addiu $9, $9, 0x1
addiu $10, $10, 0xffff addiu $10, $10, 0xffff
subu $11,$10,$0 subu $11,$10,$0
bne $11, $0, copycont1 bne $11, $0, copycont1
#if __mips >= 2
sync
#endif
VARIABLE (grub_relocator32_forward_end) VARIABLE (grub_relocator32_forward_end)
VARIABLE (grub_relocator32_backward_start) VARIABLE (grub_relocator32_backward_start)
@ -49,12 +48,11 @@ VARIABLE (grub_relocator32_backward_start)
copycont2: copycont2:
lb $11,0($8) lb $11,0($8)
sb $11,0($9) sb $11,0($9)
cache 1, 0($9)
cache 0, 0($9)
addiu $8, $8, 0xffff addiu $8, $8, 0xffff
addiu $9, $9, 0xffff addiu $9, $9, 0xffff
addiu $10, 0xffff addiu $10, 0xffff
subu $11,$10,$0 subu $11,$10,$0
bne $11, $0, copycont2 bne $11, $0, copycont2
#if __mips >= 2
sync
#endif
VARIABLE (grub_relocator32_backward_end) VARIABLE (grub_relocator32_backward_end)