* grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly

version.
	* grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
	* grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
	* grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
	* grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
	* grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
This commit is contained in:
Vladimir 'phcoder' Serbinenko 2012-05-28 17:51:57 +02:00
parent e6ad0555e4
commit f7143efe1b
7 changed files with 163 additions and 0 deletions

View file

@ -36,7 +36,12 @@ LOCAL (base):
/* Map the drive number (always in DL). */
push %ax
push %bx
#ifdef __APPLE__
LOCAL(mapstart_offset) = INT13H_OFFSET(LOCAL (mapstart))
movw $LOCAL(mapstart_offset), %bx
#else
movw $INT13H_OFFSET(LOCAL (mapstart)), %bx
#endif
more_remaining:
movw %cs:(%bx), %ax
@ -62,7 +67,12 @@ not_found:
popf
pushf
#ifdef __APPLE__
LOCAL(oldhandler_offset) = INT13H_OFFSET (LOCAL (oldhandler))
lcall *%cs:LOCAL(oldhandler_offset)
#else
lcall *%cs:INT13H_OFFSET (LOCAL (oldhandler))
#endif
push %bp
mov %sp, %bp
@ -85,7 +95,11 @@ norestore:
popf
pushf
#ifdef __APPLE__
lcall *%cs:LOCAL(oldhandler_offset)
#else
lcall *%cs:INT13H_OFFSET (LOCAL (oldhandler))
#endif
push %bp
mov %sp, %bp