Hi Alex,

> Has anyone booting prex with an image that's larger than 128kb? Any 
> suggestions
> for what might be done? I'm considering trying to get grub or some other boot
> sector to load the image and see if that does anything..

I investigated this symptom today, and got the hang up reason. There are 
two limitations about the size of boot image in the current Prex-i386 
version.

1) Boot Sector
A boot sector reads a file named "PREXOS" in the root directory. The 
file image is copied to 0x40000 by using BIOS disk service. Since we can 
use only conventional memory area with BIOS, the max file size is 
limited to 384K (0xA0000 - 0x40000 = 0x60000) bytes.

2) Boot Loader
After reading image, the boot sector jumps to the entry point (at 
0x40000) of the boot loader. Then, the loader reads the raw file data 
from memory and load the kernel/driver/task images into 0x10000. You can 
find the second limitation here because the loader may overwrite itself 
if the load image is too large. In this case, the total image size is 
limited to 192K (0x40000 - 0x10000 = 0x30000) bytes.

I'll apply the following fixes in the next Prex release.

- Change the boot loader to move its code and whole file image to 
0x100000. So, we can use the address from 0x10000 to 0xA0000.
(Image max: 192K -> 576K bytes)

- Change the boot sector to copy the file into 0x30000.
(File max: 384K -> 448K bytes)

Kohsuke

-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services
for just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
Prex-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/prex-devel

Reply via email to