* 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:
parent
e6ad0555e4
commit
f7143efe1b
7 changed files with 163 additions and 0 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue