grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Trim a few bytes from boot.img


From: Vladimir 'φ-coder/phcoder' Serbinenko
Subject: Re: [PATCH] Trim a few bytes from boot.img
Date: Tue, 16 Feb 2010 12:53:51 +0100
User-agent: Mozilla-Thunderbird 2.0.0.22 (X11/20091109)

Colin Watson wrote:
> A while back, I was looking for eight extra bytes in boot.img so that I
> could put a keyboard modifier check in there, allowing me to avoid
> printing "GRUB loading" by default, which my boss^3 has been asking me
> for, without crippling debugging in the process.  I knew I could find a
> few by shortening error messages (e.g. "Hard Disk" -> "HD"), but I asked
> Colin King, one of our kernel hackers, if he could find a nicer
> approach.  He came up with a patch which I massaged a bit into this.
> What do people think?
>
> It seems as if it might be generally useful to have a bit of spare space
> in here, although I would certainly appreciate it if people didn't use
> it all at once. ;-)
>   
Looks goo. Can you merge it into experimental?
> 2010-02-10  Colin King  <address@hidden>
> 2010-02-10  Colin Watson  <address@hidden>
>
>       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.
>
> === modified file 'boot/i386/pc/boot.S'
> --- boot/i386/pc/boot.S       2010-01-03 22:05:07 +0000
> +++ boot/i386/pc/boot.S       2010-02-10 11:32:08 +0000
> @@ -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)
>  
>
> Thanks,
>
>   


-- 
Regards
Vladimir 'φ-coder/phcoder' Serbinenko


Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]