]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
2010-02-10 Colin King <colin.king@ubuntu.com>
authorColin Watson <cjwatson@ubuntu.com>
Mon, 22 Feb 2010 12:42:13 +0000 (12:42 +0000)
committerColin Watson <cjwatson@ubuntu.com>
Mon, 22 Feb 2010 12:42:13 +0000 (12:42 +0000)
2010-02-10  Colin Watson  <cjwatson@ubuntu.com>

Shrink the pre-partition-table part of boot.img by eight bytes.

* boot/i386/pc/boot.S (ERR): New macro.
(chs_mode): Use ERR.
(geometry_error): Likewise.
(hd_probe_error): Remove.  This is only used once, so we wrwite
it inline instead.
(read_error): Instead of printing read_error_string, just set up
%si and fall through to ...
(error_message): ... this new function, also used by ERR.

ChangeLog.trim-boot-img [new file with mode: 0644]
boot/i386/pc/boot.S

diff --git a/ChangeLog.trim-boot-img b/ChangeLog.trim-boot-img
new file mode 100644 (file)
index 0000000..26408af
--- /dev/null
@@ -0,0 +1,13 @@
+2010-02-10  Colin King  <colin.king@ubuntu.com>
+2010-02-10  Colin Watson  <cjwatson@ubuntu.com>
+
+       Shrink the pre-partition-table part of boot.img by eight bytes.
+
+       * boot/i386/pc/boot.S (ERR): New macro.
+       (chs_mode): Use ERR.
+       (geometry_error): Likewise.
+       (hd_probe_error): Remove.  This is only used once, so we wrwite
+       it inline instead.
+       (read_error): Instead of printing read_error_string, just set up
+       %si and fall through to ...
+       (error_message): ... this new function, also used by ERR.
index 257f9044ece36873a229f82642c6767b1329db65..4afc57349b405dde7ac7ce2f19ead4de76363c06 100644 (file)
@@ -27,6 +27,7 @@
 
        /* Print message string */
 #define MSG(x) movw $x, %si; call LOCAL(message)
+#define ERR(x) movw $x, %si; jmp LOCAL(error_message)
 
        .file   "boot.S"
 
@@ -233,7 +234,7 @@ LOCAL(chs_mode):
        jz      LOCAL(floppy_probe)
 
        /* Nope, we definitely have a hard disk, and we're screwed. */
-       jmp     LOCAL(hd_probe_error)
+       ERR(hd_probe_error_string)
 
 LOCAL(final_init):
        /* set the mode to zero */
@@ -360,22 +361,15 @@ LOCAL(copy_buffer):
  * BIOS Geometry translation error (past the end of the disk geometry!).
  */
 LOCAL(geometry_error):
-       MSG(geometry_error_string)
-       jmp     LOCAL(general_error)
-
-/*
- * Disk probe failure.
- */
-LOCAL(hd_probe_error):
-       MSG(hd_probe_error_string)
-       jmp     LOCAL(general_error)
+       ERR(geometry_error_string)
 
 /*
  * Read error on the disk.
  */
 LOCAL(read_error):
-       MSG(read_error_string)
-
+       movw    $read_error_string, %si
+LOCAL(error_message):
+       call    LOCAL(message)
 LOCAL(general_error):
        MSG(general_error_string)