Hi,
Michael Devore escribió:
MEMCHECK checks for illegal INT 15h function 87h memory transfers
to/from the real RAM address range -- the CHECK and MEM parts of the
MEMCHECK option -- and dynamically builds and sets two scratch page
tables to allow the access to occur if it is outside of normal RAM
range. Otherwise an exception is generated because the memory ain't
there to access.
Generally you don't want to allow such access because when it happens it
usually means something has fundamentally screwed up and it scribbling
across invalid addresses or overshot the mark. However, with
memory-mapped I/O (MMIO), high addresses outside the normal RAM range
are used to talk to a peripherals and the computer bus. The EMM386
MEMCHECK option was written so that MMIO devices don't auto-fault when
using INT 15h to transfer bytes in those ranges.
Now that MMIO is becoming more common, it would nice to automatically
allow MMIO access without having to specify the non-default MEMCHECK
option, while still keeping normal protections against faulty or crashed
application memory scribbling. Hence the idea of 3-4G address space
MEMCHECK behavior on by default. The non-default MEMCHECK option would
still be available for someone who needs to transfer to or from
addresses below 3G which remain outside of the normal RAM range.
Downsides for the proposal are loss of wild memory access protection in
3-4G range and additional (extended) memory of 16K always, rather than
optionally, consumed. Plus some nanoseconds of check address overhead
on each transfer.
Anyway with this protection would mean in most cases that something
within the app would be going very bad, and would crash sooner or later.
If you consider MMIO to become more and more popular, I would vote for
making it default.
It may be boring to test, but does anyone know what does MS-DOS do?
Aitor
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel