Mail Archives: djgpp/2001/07/25/16:15:19
> Charles Sandmann <sandmann AT clio DOT rice DOT edu> wrote:
> : XMS memory and manage it for DPMI applications. If a non-32-bit-DPMI
> : protected mode application tries to run, it won't be able to get any XMS
> : memory (bad things can happen in the raw memory management world). If
>
> Can you be more specific about what these bad things are?
In raw memory management, the size of the memory is obtained from Int 15,
and the A20 state is set by changing port registers. So there is not a
good clean way to coordinate between PM programs. In addition, the
"standard" way of doing this is to hook Int 15 and decrease the amount
of memory reported and do top down allocation. CWSDPMI doesn't do this
for a long list of reasons (DMA buffers must be in first 16Mb for ISA
cards, multiple Int 15 calls to get memory size, exit stability, etc).
So, in a raw environment an application may see all the extended memory
free and trash the DPMI memory. If there is extra memory available,
and they use top down, it works if you are lucky. In an ideal world
CWSDPMI might hook the Int 15 interrupt and return all the known memory
size API calls as zero and then the application would always fail as
it does under XMS. But it seems no one has complained about it yet,
but there are other things people want...
- Raw text -