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

Reply via email to