grub-devel
[Top][All Lists]
Advanced

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

Re: [PATCH 2/2] RFT: Remove ABS macro from boot/i386/pc/boot.S


From: Vladimir 'phcoder' Serbinenko
Subject: Re: [PATCH 2/2] RFT: Remove ABS macro from boot/i386/pc/boot.S
Date: Sat, 18 Jul 2009 17:17:10 +0200

On Thu, Jul 16, 2009 at 5:47 AM, Pavel Roskin<address@hidden> wrote:
> ChangeLog:
>
>        * boot/i386/pc/boot.S: Remove ABS macro, it's useless now.
Could you wait before committing this patch? I'm currently making
grub2 compiling with gcc 2.95 supplied as a possibility (another one
is gcc 4.x) with haiku. The fixes are mostly also fixes for bad style.
Once I've finished I'll test this patch with gcc 2.95 to see if it
generates any problem with old systems
> ---
>  boot/i386/pc/boot.S |   23 +++++++++--------------
>  1 files changed, 9 insertions(+), 14 deletions(-)
>
> diff --git a/boot/i386/pc/boot.S b/boot/i386/pc/boot.S
> index 8a8f6c7..77319a7 100644
> --- a/boot/i386/pc/boot.S
> +++ b/boot/i386/pc/boot.S
> @@ -24,13 +24,8 @@
>  *  defines for the code go here
>  */
>
> -       /* Absolute addresses
> -          This makes the assembler generate the address without support
> -          from the linker. (ELF can't relocate 16-bit addresses!) */
> -#define ABS(x) (x-_start+0x7c00)
> -
>        /* Print message string */
> -#define MSG(x) movw $ABS(x), %si; call L_message
> +#define MSG(x) movw $x, %si; call L_message
>
>        .file   "boot.S"
>
> @@ -125,7 +120,7 @@ boot_drive_check:
>         * ljmp to the next instruction because some bogus BIOSes
>         * jump to 07C0:0000 instead of 0000:7C00.
>         */
> -       ljmp    $0, $ABS(real_start)
> +       ljmp    $0, $real_start
>
>  real_start:
>
> @@ -142,7 +137,7 @@ real_start:
>        /*
>         *  Check if we have a forced disk reference here
>         */
> -       movb   ABS(boot_drive), %al
> +       movb   boot_drive, %al
>        cmpb    $0xff, %al
>        je      1f
>        movb    %al, %dl
> @@ -154,7 +149,7 @@ real_start:
>        MSG(notification_string)
>
>        /* set %si to the disk address packet */
> -       movw    $ABS(disk_address_packet), %si
> +       movw    $disk_address_packet, %si
>
>        /* do not probe LBA if the drive is a floppy */
>        testb   $GRUB_BOOT_MACHINE_BIOS_HD_FLAG, %dl
> @@ -195,9 +190,9 @@ lba_mode:
>        movw    $0x0010, (%si)
>
>        /* the absolute address */
> -       movl    ABS(kernel_sector), %ebx
> +       movl    kernel_sector, %ebx
>        movl    %ebx, 8(%si)
> -       movl    ABS(kernel_sector + 4), %ebx
> +       movl    kernel_sector + 4, %ebx
>        movl    %ebx, 12(%si)
>
>        /* the segment of buffer address */
> @@ -265,13 +260,13 @@ L_final_init:
>
>  setup_sectors:
>        /* load logical sector start (top half) */
> -       movl    ABS(kernel_sector + 4), %eax
> +       movl    kernel_sector + 4, %eax
>
>        orl     %eax, %eax
>        jnz     L_geometry_error
>
>        /* load logical sector start (bottom half) */
> -       movl    ABS(kernel_sector), %eax
> +       movl    kernel_sector, %eax
>
>        /* zero %edx */
>        xorl    %edx, %edx
> @@ -442,7 +437,7 @@ L_floppy_probe:
>  *  Perform floppy probe.
>  */
>
> -       movw    $ABS(probe_values-1), %si
> +       movw    $probe_values - 1, %si
>
>  L_probe_loop:
>        /* reset floppy controller INT 13h AH=0 */
>
>
> _______________________________________________
> Grub-devel mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/grub-devel
>



-- 
Regards
Vladimir 'phcoder' Serbinenko

Personal git repository: http://repo.or.cz/w/grub2/phcoder.git




reply via email to

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