Improve FreeDOS direct loading support compatibility.
authorC. Masloch <pushbx@38.de>
Sun, 27 Jan 2013 15:07:25 +0000 (16:07 +0100)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Sun, 27 Jan 2013 15:07:25 +0000 (16:07 +0100)
commit08bcec502084e322318ecad1bc4c04d3ddc10d32
tree1d44de514849d3dd58ad312972d4813b75d3f1fa
parent7782b8a62f342d15c8a8e64978454296275148b9
Improve FreeDOS direct loading support compatibility.

* include/grub/i386/relocator.h (grub_relocator16_state):
New member ebp.
* grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
variable.
(grub_relocator16_boot): Handle %ebp.
* grub-core/lib/i386/relocator16.S: Likewise.
* grub-core/loader/i386/pc/freedos.c:
Load BPB to pass kernel which partition to load from.
Check that kernel file is not too large.
Set register dl to BIOS unit number as well.
ChangeLog
grub-core/lib/i386/relocator.c
grub-core/lib/i386/relocator16.S
grub-core/loader/i386/pc/freedos.c
include/grub/i386/relocator.h