Author: tkreuzer Date: Sat Jul 30 20:34:55 2011 New Revision: 53003
URL: http://svn.reactos.org/svn/reactos?rev=53003&view=rev Log: [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.
Modified: trunk/reactos/boot/freeldr/bootsect/isoboot.S
Modified: trunk/reactos/boot/freeldr/bootsect/isoboot.S URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/bootsect/isobo... ============================================================================== --- trunk/reactos/boot/freeldr/bootsect/isoboot.S [iso-8859-1] (original) +++ trunk/reactos/boot/freeldr/bootsect/isoboot.S [iso-8859-1] Sat Jul 30 20:34:55 2011 @@ -360,10 +360,13 @@ 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