[syslinux] Relocating COM32 modules to higher mem

Loginov Alexander aloginov at asmpt.com
Mon Jul 28 19:18:24 PDT 2008


Hello Peter,

Thanks for reply.
 
>> As it is known, Syslinux loads COM32 modules to 0x101000 (the PM IDT
is
>> at 0x100000). Unfortunately, in my project this area of memory is
>> already occupied by another program that I need to preserve for a
while
>> (specifically, until Syslinux's COM32 module boots up the OS kernel).
>> In other words, I need to load and execute COM32 modules from other
than
>> 0x101000 area of memory (for example, from 0xA01000)
>> 
> > [...]
>> 
>> My concern is that such modification may affect other Syslinux
>> functionalities. Actually, I just want to modify the loading and
>> execution address of COM32 modules without affecting any other
>> properties of Syslinux (for example, I still want to load and execute
>> Linux and any other kernels in the conventional way). However, I am
not
>> sure that my modification safe in this way...
>> 

>Loading the Linux kernel uses this area as well.
>
>	-hpa

Actually, what I meant is to make COM32 modules relocatable, so they
could run from any address. For example, they could be loaded to the top
of available physical memory. This approach could be helpful for
embedded systems. In fact, Syslinux provides quite a lot of features
useful for embedded system designers, for example, it has OS-less
C-library, menu, monitor, etc. If COM32 module was loaded to the top
memory, then its functionality could be preserved for longer time (it
will not be erased immediately by the loaded embedded application)

How difficult would it be to implement such feature?

Thanks,
Alex  




More information about the Syslinux mailing list