Hi!

     Eric note interesting thing: NUL driver in BC kernel placed further,
than in Watcom kernel. After some investigations I found, that this is
because libm.lib, which exports from standard library some modules. For
example, map file for BC:

______________O\_/_________________________________\_/O______________
Start  Stop   Length Name               Class

00000H 000FFH 00100H PSP                PSP
00100H 002D9H 001DAH _LOWTEXT           LCODE
[...]
006ECH 007F2H 00107H _TEXT              LCODE
>-^^^---------^^^^^---------------------^^^^^
00800H 012AFH 00AB0H _FIXED_DATA        FDATA
[...]
01E70H 0D8A9H 0BA3AH HMA_TEXT           CODE
>---------------------------------------^^^^
[...]
 0010:05B8       LptTable
 0010:05EC       N_LDIV@
>--^^^^^^^ =0:6EC
 0010:05EF       LDIV@
_____________________________________________________________________
              O/~\                                 /~\O

Watcom:

______________O\_/_________________________________\_/O______________
PSP                    PSP            PGROUP         0000:0000   00000100
_LOWTEXT               LCODE          LGROUP         0010:0000   000001da
[...]
_TEXT                  LCODE          LGROUP         006e:000b   00000000
>----------------------^^^^^-------------------------------------^^^^^^^^
[...]
HMA_TEXT               CODE           TGROUP         01d6:0000   0000a0e6
>----------------------^^^^--------------------------^^^^
[...]
01d6:0000      __HMATextStart
01d6:0031      _DGROUP_
01d6:0033      __U4M
>^^^
01d6:0049      __U4D
_____________________________________________________________________
              O/~\                                 /~\O

Another fact: lib/makefile with help of patchobj replaces in .obj files CODE
by LCODE, thus, in theory, all included from standard library files should
come into low memory (group LGROUP), as in BC, whereas in Watcom i4m.obj
from libm.lib placed into group TGROUP, segment HMA_TEXT with class CODE
(not LCODE). Why? Why patching .obj files in lib/makefile is ignored?

PS: On the other side, why standard modules should come into lower memory?
Why not place them all into HMA_TEXT? Lucho, may you recompile kernel by BC
with:

- segs.inc: segment _TEXT in group TGROUP (after HMA_TEXT_START) and with
  class CODE;
- lib/makefile: no patching .obj files.

? I myself can't do this, because my system is not completely restored.




-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 - 
digital self defense, top technical experts, no vendor pitches, 
unmatched networking opportunities. Visit www.blackhat.com
_______________________________________________
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel

Reply via email to