11.11.2012 01:10, Bart Oldeman пишет: > On 10 November 2012 15:39, Stas Sergeev wrote: > >> Could you just, if possible, give a simple example that >> will show that the problem is unsolvable? > just think of movsb from vga to vga memory. Read and write bytes are > different but can't be mapped differently. I am still trying to understand. I think you are trying to say the following: - What is read from vid mem is not the same that was written, which is very bad. - Even if we prepare the read context in advance and try to batch the writes, there is still the problem when the prog writes and then quickly reads the same location (like the overlapping "rep movsb"), and if we didn't process the batched writes in between, it will read what it have written, which is a screwup. Is this understanding correct?
If so (and only if), then this explanation can't help me getting rid of the false feeling of a trivial solution, unfortunately. For example: 1. We prepare the read area in advance. 2. We write-protect it. 3. On a page fault we mark the page dirty, remove the write protection, but set a read protection. No instruction decoding happens - we allow the write to succeed directly. 4. On a read fault we process the pending writes and goto 1. (4 can be tweaked with the different optimizations, but I am just trying to explain the basic idea) Do you think something like this can work? ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_nov _______________________________________________ Dosemu-devel mailing list Dosemu-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dosemu-devel