]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
use $t0-$t3 as arguments for relocator
authorphcoder <phcoder@debian.bg45.phnet>
Mon, 19 Oct 2009 10:59:33 +0000 (12:59 +0200)
committerphcoder <phcoder@debian.bg45.phnet>
Mon, 19 Oct 2009 10:59:33 +0000 (12:59 +0200)
lib/mips/relocator.c
lib/mips/relocator_asm.S

index b0fb4b2a57cbfd43e07942ae94745ed8873ccfd1..4a67418c492938ccab0d9e3239700ce1c822e0fa 100644 (file)
@@ -71,9 +71,9 @@ write_call_relocator_bw (void *ptr0, void *src, grub_uint32_t dest,
 {
   void *ptr = ptr0;
   int i;
-  write_reg (2, (grub_uint32_t) src, &ptr);
-  write_reg (3, dest, &ptr);
-  write_reg (4, size, &ptr);
+  write_reg (8, (grub_uint32_t) src, &ptr);
+  write_reg (9, dest, &ptr);
+  write_reg (10, size, &ptr);
   grub_memcpy (ptr, &grub_relocator32_backward_start,
               RELOCATOR_SRC_SIZEOF (backward));
   ptr = (grub_uint8_t *) ptr + RELOCATOR_SRC_SIZEOF (backward);
@@ -89,9 +89,9 @@ write_call_relocator_fw (void *ptr0, void *src, grub_uint32_t dest,
 {
   void *ptr = ptr0;
   int i;
-  write_reg (2, (grub_uint32_t) src, &ptr);
-  write_reg (3, dest, &ptr);
-  write_reg (4, size, &ptr);
+  write_reg (8, (grub_uint32_t) src, &ptr);
+  write_reg (9, dest, &ptr);
+  write_reg (10, size, &ptr);
   grub_memcpy (ptr, &grub_relocator32_forward_start,
               RELOCATOR_SRC_SIZEOF (forward));
   ptr = (grub_uint8_t *) ptr + RELOCATOR_SRC_SIZEOF (forward);
index 5503b4032743effb5d5ab5714fd9e1f29e9a187e..6f6108edc7027b8c5918e55688755593ef18ea2f 100644 (file)
 
 VARIABLE (grub_relocator32_forward_start)
 copycont1:     
-       lb $5,0($2)
-       sb $5,0($3)
-       addiu $2, $2, 0x1
-       addiu $3, $3, 0x1
-       addiu $4, $4, 0xffff
-       subu $5,$4,$0
-       bne $5, $0, copycont1
+       lb $11,0($8)
+       sb $11,0($9)
+       addiu $8, $8, 0x1
+       addiu $9, $9, 0x1
+       addiu $10, $10, 0xffff
+       subu $11,$10,$0
+       bne $11, $0, copycont1
 #if __mips >= 2
        sync
 #endif
 VARIABLE (grub_relocator32_forward_end)
 
 VARIABLE (grub_relocator32_backward_start)
-       addu $3, $3, $4
-       addu $2, $2, $4
+       addu $9, $9, $10
+       addu $8, $8, $10
        /* Backward movsl is implicitly off-by-one.  compensate that.  */
-       addiu $3, $3, 0xffff
-       addiu $2, $2, 0xffff
+       addiu $9, $9, 0xffff
+       addiu $8, $8, 0xffff
 copycont2:     
-       lb $5,0($2)
-       sb $5,0($3)
-       addiu $2, $2, 0xffff
-       addiu $3, $3, 0xffff
-       addiu $4, 0xffff
-       subu $5,$4,$0
-       bne $5, $0, copycont2
+       lb $11,0($8)
+       sb $11,0($9)
+       addiu $8, $8, 0xffff
+       addiu $9, $9, 0xffff
+       addiu $10, 0xffff
+       subu $11,$10,$0
+       bne $11, $0, copycont2
 #if __mips >= 2
        sync
 #endif