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.
This commit is contained in:
C. Masloch authored and Vladimir 'phcoder' Serbinenko committed 2013-01-27 16:07:25 +01:00
1 parent 7782b8a62f
commit 08bcec5020
5 files changed
+82 -8

No files matched your search

+1
View File
@@ -49,6 +49,7 @@ struct grub_relocator16_state
grub_uint32_t ebx;
grub_uint32_t edx;
grub_uint32_t esi;
grub_uint32_t ebp;
int a20;
};