]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
2009-05-14 Pavel Roskin <proski@gnu.org>
authorproski <proski@localhost>
Thu, 14 May 2009 13:43:13 +0000 (13:43 +0000)
committerproski <proski@localhost>
Thu, 14 May 2009 13:43:13 +0000 (13:43 +0000)
* commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
jump.  This saves two bytes, so the typical case of 2 swapped
drives would fit 32 bytes.

ChangeLog
commands/i386/pc/drivemap_int13h.S

index 360b73a854e4a38e7701eaa70a1f32566a0eccba..a488561a3cc980de5c8088ee973d7c4f6455ae48 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2009-05-14  Pavel Roskin  <proski@gnu.org>
+
+       * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
+       jump.  This saves two bytes, so the typical case of 2 swapped
+       drives would fit 32 bytes.
+
 2009-05-13  Pavel Roskin  <proski@gnu.org>
 
        * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
index 7db3a67935aa113640113835d43087622aad481c..6513411be8597703c4820249ca804bee9a26352a 100644 (file)
@@ -37,14 +37,11 @@ more_remaining:
        movw    %cs:(%bx), %ax
        cmpb    %ah, %al
        jz      not_found /* DRV=DST => map end - drive not remapped, keep DL.  */
-       cmpb    %dl, %al
-       jz      found /* Found - drive remapped, modify DL.  */
        inc     %bx
        inc     %bx
-       jmp     more_remaining /* Not found, but more remaining, loop.  */
-
-found:
-       movb    %ah, %dl
+       cmpb    %dl, %al
+       jnz     more_remaining /* Not found, but more remaining, loop.  */
+       movb    %ah, %dl /* Found - drive remapped, modify DL.  */
 
 not_found:
        pop     %bx