[Top][All Lists]
[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
Re: [PATCH 1/2] RFT: Eliminate Apple specific code from boot/i386/pc/boot.S, Vladimir 'phcoder' Serbinenko, 2009/07/16