Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
LX loader fixes and enhancements
- LX executable pages packing algorithms implementations. All three algorithms are supported from now, including the new algorithm introduced in OS/4 kernel. For that purpose, some code is ported from QSINIT, kLdr and lxlite. - Memory align option is introduced in allocmem() function in LX loader, so now executable sections can be e.g., a 0x10000-byte aligned. - More options, fixup types and entry options are supported now. Now LDT is initialized with 8192 16-bit descriptor. Small patch is applied to L4/Fiasco kernel, so that, kernel should use 8192 LDT descriptors, not 512 ones, which fit in one memory page. So, now some bits of tiling is implemented. Though, 16- bit OS/2 code support is not yet finished. 16:16 and 16:32 fixups and entries are now supported. - Region align support in RegAreaAttach. - Extra fixups support in os2exec. Now fixups other than 32-bit self-relative ones, are supported.
- Loading branch information
Showing
with
946 additions
and 318 deletions.
- BIN filesys/os2/cmd.exe
- +2 −0 filesys/os2/config.sys
- BIN filesys/os2/doscalls.dll
- BIN filesys/os2/vp.exe
- BIN filesys/os2/zip.exe
- +7 −6 include/os2/exe386.h
- +1 −1 include/os3/allocmem.h
- +4 −3 include/os3/ixfmgr.h
- +4 −0 include/os3/segment.h
- 0 platform/l4env/mounted.flg
- +22 −22 platform/l4env/src/lib/compat/fileprov.c
- +36 −1 platform/l4env/src/lib/compat/rm.c
- +7 −0 platform/l4env/src/lib/compat/segment.c
- +1 −1 platform/l4env/src/server/ixf/lx/Makefile
- +4 −1 platform/l4env/src/server/os2app/server/src/main.c
- +3 −0 platform/l4env/src/server/os2exec/lib/src/exec.c
- +8 −1 platform/l4env/src/server/os2exec/server/src/main.c
- +5 −1 platform/l4env/src/server/os2exec/server/src/rpc.c
- +8 −1 platform/l4env/src/server/os2fs/server/src/main.c
- +2 −2 platform/l4env/src/server/os2srv/server/src/exec.c
- +3 −2 platform/l4env/src/server/os2srv/server/src/main.c
- +2 −2 shared/app/os2app/initdone.c
- +30 −5 shared/app/os2app/kal/arch/x86_32/tramp.c
- +63 −8 shared/app/os2app/kal/kal.c
- +30 −7 shared/app/os2app/kal/start.c
- +10 −8 shared/lib/ixf/lx/allocmem.c
- +25 −31 shared/lib/ixf/lx/fixup.c
- +4 −6 shared/lib/ixf/lx/load.c
- +298 −61 shared/lib/ixf/lx/loadobj.c
- +159 −95 shared/lib/ixf/lx/lx.c
- +8 −8 shared/lib/ixf/lx/mod.c
- +3 −2 shared/server/os2exec/api/api.c
- +16 −4 shared/server/os2exec/ixfmgr.c
- +155 −30 shared/server/os2exec/modmgr.c
- +1 −1 shared/server/os2fs/api/api.c
- +6 −6 shared/server/os2srv/api/api.c
- +2 −2 shared/server/os2srv/api/api.h
- +17 −0 shared/server/os2srv/initdone.c
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Empty file.
Oops, something went wrong.