[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[2489] 2009-08-13 Pavel Roskin <address@hidden>
From: |
Pavel Roskin |
Subject: |
[2489] 2009-08-13 Pavel Roskin <address@hidden> |
Date: |
Thu, 13 Aug 2009 05:34:39 +0000 |
Revision: 2489
http://svn.sv.gnu.org/viewvc/?view=rev&root=grub&revision=2489
Author: proski
Date: 2009-08-13 05:34:39 +0000 (Thu, 13 Aug 2009)
Log Message:
-----------
2009-08-13 Pavel Roskin <address@hidden>
* boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
Use local labels starting with "L_" so that Apple assembler
knows they are local.
Modified Paths:
--------------
trunk/grub2/ChangeLog
trunk/grub2/boot/i386/pc/boot.S
Modified: trunk/grub2/ChangeLog
===================================================================
--- trunk/grub2/ChangeLog 2009-08-10 15:42:39 UTC (rev 2488)
+++ trunk/grub2/ChangeLog 2009-08-13 05:34:39 UTC (rev 2489)
@@ -1,3 +1,9 @@
+2009-08-13 Pavel Roskin <address@hidden>
+
+ * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
+ Use local labels starting with "L_" so that Apple assembler
+ knows they are local.
+
2009-08-10 Robert Millan <address@hidden>
* include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
Modified: trunk/grub2/boot/i386/pc/boot.S
===================================================================
--- trunk/grub2/boot/i386/pc/boot.S 2009-08-10 15:42:39 UTC (rev 2488)
+++ trunk/grub2/boot/i386/pc/boot.S 2009-08-13 05:34:39 UTC (rev 2489)
@@ -30,11 +30,7 @@
#define ABS(x) (x-_start+0x7c00)
/* Print message string */
-#ifdef APPLE_CC
-#define MSG(x) x ## _abs = ABS(x); movw $x ## _abs, %si; call message
-#else
-#define MSG(x) movw $ABS(x), %si; call message
-#endif
+#define MSG(x) movw $ABS(x), %si; call L_message
.file "boot.S"
@@ -56,7 +52,7 @@
* parameter block.
*/
- jmp after_BPB
+ jmp L_after_BPB
nop /* do I care about this ??? */
/*
@@ -104,7 +100,7 @@
.byte 0xff /* the disk to load kernel from */
/* 0xff means use the boot drive */
-after_BPB:
+L_after_BPB:
/* general setup */
cli /* we're not safe here! */
@@ -129,12 +125,7 @@
* ljmp to the next instruction because some bogus BIOSes
* jump to 07C0:0000 instead of 0000:7C00.
*/
-#ifdef APPLE_CC
- real_start_abs = ABS(real_start)
- ljmp $0, $(real_start_abs)
-#else
ljmp $0, $ABS(real_start)
-#endif
real_start:
@@ -151,12 +142,7 @@
/*
* Check if we have a forced disk reference here
*/
-#ifdef APPLE_CC
- boot_drive_abs = ABS (boot_drive)
- movb boot_drive_abs, %al
-#else
movb ABS(boot_drive), %al
-#endif
cmpb $0xff, %al
je 1f
movb %al, %dl
@@ -168,16 +154,11 @@
MSG(notification_string)
/* set %si to the disk address packet */
-#ifdef APPLE_CC
- disk_address_packet_abs = ABS (disk_address_packet)
- movw $disk_address_packet_abs, %si
-#else
movw $ABS(disk_address_packet), %si
-#endif
/* do not probe LBA if the drive is a floppy */
testb $GRUB_BOOT_MACHINE_BIOS_HD_FLAG, %dl
- jz chs_mode
+ jz L_chs_mode
/* check if LBA is supported */
movb $0x41, %ah
@@ -192,12 +173,12 @@
pushw %dx
/* use CHS if fails */
- jc chs_mode
+ jc L_chs_mode
cmpw $0xaa55, %bx
- jne chs_mode
+ jne L_chs_mode
andw $1, %cx
- jz chs_mode
+ jz L_chs_mode
lba_mode:
xorw %ax, %ax
@@ -214,18 +195,10 @@
movw $0x0010, (%si)
/* the absolute address */
-#ifdef APPLE_CC
- kernel_sector_abs = ABS (kernel_sector)
- movl (kernel_sector_abs), %ebx
- movl %ebx, 8(%si)
- movl (kernel_sector_abs + 4), %ebx
- movl %ebx, 12(%si)
-#else
movl ABS(kernel_sector), %ebx
movl %ebx, 8(%si)
movl ABS(kernel_sector + 4), %ebx
movl %ebx, 12(%si)
-#endif
/* the segment of buffer address */
movw $GRUB_BOOT_MACHINE_BUFFER_SEG, 6(%si)
@@ -243,30 +216,30 @@
int $0x13
/* LBA read is not supported, so fallback to CHS. */
- jc chs_mode
+ jc L_chs_mode
movw $GRUB_BOOT_MACHINE_BUFFER_SEG, %bx
- jmp copy_buffer
+ jmp L_copy_buffer
-chs_mode:
+L_chs_mode:
/*
* Determine the hard disk geometry from the BIOS!
* We do this first, so that LS-120 IDE floppies work correctly.
*/
movb $8, %ah
int $0x13
- jnc final_init
+ jnc L_final_init
/*
* The call failed, so maybe use the floppy probe instead.
*/
testb $GRUB_BOOT_MACHINE_BIOS_HD_FLAG, %dl
- jz floppy_probe
+ jz L_floppy_probe
/* Nope, we definitely have a hard disk, and we're screwed. */
- jmp hd_probe_error
+ jmp L_hd_probe_error
-final_init:
+L_final_init:
/* set the mode to zero */
movzbl %dh, %eax
movb %ah, -1(%si)
@@ -292,22 +265,13 @@
setup_sectors:
/* load logical sector start (top half) */
-#ifdef APPLE_CC
- kernel_sector_abs = ABS (kernel_sector)
- movl (kernel_sector_abs + 4), %eax
-#else
movl ABS(kernel_sector + 4), %eax
-#endif
orl %eax, %eax
- jnz geometry_error
+ jnz L_geometry_error
/* load logical sector start (bottom half) */
-#ifdef APPLE_CC
- movl (kernel_sector_abs), %eax
-#else
movl ABS(kernel_sector), %eax
-#endif
/* zero %edx */
xorl %edx, %edx
@@ -323,7 +287,7 @@
/* do we need too many cylinders? */
cmpw 8(%si), %ax
- jge geometry_error
+ jge L_geometry_error
/* normalize sector start (1-based) */
incb %cl
@@ -365,11 +329,11 @@
movw $0x0201, %ax /* function 2 */
int $0x13
- jc read_error
+ jc L_read_error
movw %es, %bx
-copy_buffer:
+L_copy_buffer:
/*
* We need to save %cx and %si because the startup code in
* kernel uses them without initializing them.
@@ -392,42 +356,37 @@
popa
/* boot kernel */
-#ifdef APPLE_CC
- kernel_address_abs = ABS (kernel_address)
- jmp *(kernel_address_abs)
-#else
jmp *(kernel_address)
-#endif
/* END OF MAIN LOOP */
/*
* BIOS Geometry translation error (past the end of the disk geometry!).
*/
-geometry_error:
+L_geometry_error:
MSG(geometry_error_string)
- jmp general_error
+ jmp L_general_error
/*
* Disk probe failure.
*/
-hd_probe_error:
+L_hd_probe_error:
MSG(hd_probe_error_string)
- jmp general_error
+ jmp L_general_error
/*
* Read error on the disk.
*/
-read_error:
+L_read_error:
MSG(read_error_string)
-general_error:
+L_general_error:
MSG(general_error_string)
/* go here when you need to stop the machine hard after an error condition */
/* tell the BIOS a boot failure, which may result in no effect */
int $0x18
-stop: jmp stop
+L_stop: jmp L_stop
notification_string: .asciz "GRUB "
geometry_error_string: .asciz "Geom"
@@ -450,7 +409,7 @@
movw $0x0001, %bx
movb $0xe, %ah
int $0x10 /* display a byte */
-message:
+L_message:
lodsb
cmpb $0, %al
jne 1b /* if not end of string, jmp to display */
@@ -478,19 +437,14 @@
probe_values:
.byte 36, 18, 15, 9, 0
-floppy_probe:
+L_floppy_probe:
/*
* Perform floppy probe.
*/
-#ifdef APPLE_CC
- probe_values_abs = ABS (probe_values)
- movw $(probe_values_abs-1), %si
-#else
movw $ABS(probe_values-1), %si
-#endif
-probe_loop:
+L_probe_loop:
/* reset floppy controller INT 13h AH=0 */
xorw %ax, %ax
int $0x13
@@ -506,7 +460,7 @@
* Floppy disk probe failure.
*/
MSG(fd_probe_error_string)
- jmp general_error
+ jmp L_general_error
/* "Floppy" */
fd_probe_error_string: .asciz "Floppy"
@@ -519,14 +473,14 @@
movb $0, %dh
int $0x13
- /* if error, jump to "probe_loop" */
- jc probe_loop
+ /* if error, jump to "L_probe_loop" */
+ jc L_probe_loop
/* %cl is already the correct value! */
movb $1, %dh
movb $79, %ch
- jmp final_init
+ jmp L_final_init
. = _start + GRUB_BOOT_MACHINE_PART_END
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [2489] 2009-08-13 Pavel Roskin <address@hidden>,
Pavel Roskin <=