[ISOBOOT]

Use a high segment and 0 offset when loading setupldr.
This fixes problems with an award bios.
Thanks to Igor Paliychuk (igorko) for his help and patience burning / testing dozens of isos
Fixes boot regression of cmake builds on real hw.

svn path=/trunk/; revision=53003
This commit is contained in:
Timo Kreuzer
2011-07-30 20:34:55 +00:00
parent d4a9777f27
commit c325addac5
+6 -3
View File
@@ -360,10 +360,13 @@ get_fs_structures:
call crlf
#endif
mov bx, FREELDR_BASE // bx = load address
// use high segment, as some bios can fail, when offset is too big
mov bx, FREELDR_BASE / 16 // es = load segment
mov es, bx
xor ebx, ebx // bx = load offset
mov si, di // restore file pointer
mov cx, HEX(0FFFF) // load the whole file
call getfssec // get the whole file
mov cx, HEX(0FFFF) // load the whole file
call getfssec // get the whole file
#ifdef DEBUG_MESSAGES
mov si, offset startldr_msg