Knowledge Base

BSPs and drivers
Community resources
Product documentation
Contact us

max ifs size on x86
The problem: IFS up a size show random errors on x86 hardware with BIOS.

The limit for the fsq6 loader is about 14MB (24-bit linear address minus the potential 15-16M ISA/ROM hole minus the starting address of the loaded copy at 1M).

The problem is in the startup code, which will copy itself to where it was linked, which by default is 4M. It does this regardless of the boot loader (diskpc2 or diskpc2-fsq6).

So if your boot image is >3M, then when it is loaded at 1M startup copies abut 128k of itself to 4MB, overwriting some of the image (you can see this in the 'corruption', the first bad bytes are the startup signature 0x00ff7eeb; also why the corruption seems random based on how they layout their boot image).

So there are some workarounds:
* keep image size <3M
* change where you link the image - in the boot file add an attribute, say "[image=8m]" (just prior to the "[virtual=..]
boot ... " line) to link the startup to eg 8M, which would allow you a 7MB boot image.

We might also be able to change the diskpc2 loaders to load above the region startup was linked at (eg if at 4m for 128k, then load the image to 4m+128k), to avoid it getting clobbered. But this would need some more investigation.

Related Attachments
 None Found

Please contact us with your questions or concerns.