Hello,
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)
I was able to achieve this result by replacing the default memory
locations (0x101000 and 0x100000) by the required ones (0xA01000 and
0xA00000) in the script files (com32.ld and syslinux.ld) as well as in
com.32.inc (line 32, the absolute location of pm_idt).
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...
I would appreciate your comments. Thanks.
Best,
Alex