OS/2 Loaders that allow systems with more than 2GB of physical RAM to write a system dump file to 2GB FAT formatted partitions.
The loaders only work with SMP kernels.
Program is distributed as ZIP package: download to temporary directory and unpack to destination folder. See below for download link(s).
Following ones are the download links for manual installation:
OS/2 Loader (with hardcoded physical memory limits) (12/12/2022, Steven Levine) | Readme/What's new |
os2ldrs with hardcoded physical memory limits Steven H. Levine
2022-12-12
If you are running ArcaOS, you should not be reading this. You should have
already read
https://www.arcanoae.com/wiki/how-to-get-a-trap-dump/
and you should have followed the direction in the wiki.
These tools predate ArcaOS2 and are obsolete and unsupported by anyone if
you are running ArcaOS.
If you don't know why you are thinking about using one of these loaders, you
probably should not even be thinking about using one of these loaders.
These loaders exist to allow systems with more than 2GB of physical RAM to
write a system dump file to 2GB FAT formatted partitions.
These loaders are intended to be used when you are unable to capture a
system dump to a 4GB DUMPFS partition. For not yet fully understood
reasons, attempting to capture a system dump to a DUMPFS formatted volume on
a system with 4GB of physical RAM often fails. If the DUMPFS method works
for you, there is no really good reason to use one of these loaders.
The downside of using one of these loaders is that eCS/OS2 will have less
available physical memory. However, for a typical application mix, 2GB of
physical RAM is more than will ever be needed.
These loaders limit the detected physical memory to a hardcoded value. This
limits the amount of physical memory that eCS will use and generally allows
a usable system dump to be written to a 2GB FAT formatted volume.
The distribution contains two patched loaders:
10-02-13 23:50 43,008 0 os2ldr_512MB
1-04-16 12:59 43,008 0 os2ldr_2GB
os2ldr_2GB limits the detected physical memory to 2GB-1MB. os2ldr_512MB
limits the detected memory to 512MB. The 512MB version has the benefit of
producing a smaller system dump. However, if your application mix requires
more than 512MB of physical RAM to perform well, use the 2GB version.
== Known Limitations ==
The patched loaders only work with SMP kernels.
The system must contain more physical memory than the patched loader will
claim exists. For example, using the 2GB patched loader on a system with
only 1GB of physical memory will produce undefined results.
== Installation ==
The active os2ldr will be in the root of your boot volume.
Decide which patched os2ldr best suits your needs.
To install the patched os2ldr
- If the installed os2ldr is hidden, make it visible.
- Save a copy of the original, active os2ldr as os2ldr.saved.
- Copy and rename the selected, patched os2ldr and
overwrite the original active os2ldr.
- Reboot.
To uninstall the patched os2ldr
- Replace the active os2ldr with os2ldr.saved.
- Reboot.
== Theory of Operation ==
The patched loaders are based on the SMP os2ldr distributed eCS 2.x. This
os2ldr was originally the 14.106 SMP retail os2ldr distributed with FP6 GA.
This eCS 2.x os2ldr has the standard patches installed and reports itself as
2-13-07 10:27 43,008 0 os2ldr
with the md5 sum
aba04bea4ac9e4d04910d7a82e6de333 *os2ldr
Modern BIOS's support the Int 15 e820 BIOS function. This function returns
entries from a table that describes the physical memory ranges known to the
BIOS. The original os2ldr uses the list entry that corresponds to the
physical memory starting at 1MB to set the physical memory size.
The patched os2ldrs ignore the reported size of this memory block and uses
the hardcoded size of 2GB or 512MB.
The original code is
cseg3:32D9 mov ebx, [di+8] ; get byte count from table entry
cseg3:32DD shr ebx, 10 ; convert from bytes to KB
The 2GB patch is
cseg3:32D9 mov ebx, 1ff000h ; force to 2GB-1MB (in KB)
cseg3:32DF nop
cseg3:32E0 nop
The 512MB patch is
cseg3:32D9 mov ebx, 80000h ; force to 512MB (in KB)
cseg3:32DF nop
cseg3:32E0 nop
== IBM patch files ==
; Patch for 2GB-1MB
; 200000 - 1000 = 1FF000
FILE OS2LDR
VER 32D9 66BB000020009090
CHA 32D9 66BB00001FF09090
; Patch for 512KB
FILE OS2LDR
VER 32D9 668B5D0866C1EB0A
CHA 32D9 66BB000008009090
== Changelog ==
- Limit memory detected by os2ldr_2GB from 2GB to 2GB-1MB. On some systems
a 2GB dump file would not fit in the availabe file space on a 2GB FAT
volume. |
www.warpcave.com/betas/os2ldr-physmem-limiters-2022-12-12.zip | local copy |
This work is licensed under a Creative Commons Attribution 4.0 International License.
Add new comment