Date: Sun, 27 Jun 1999 17:07:19 +0300 (IDT) From: Eli Zaretskii X-Sender: eliz AT is To: Charles Sandmann cc: erik2 DOT berglund AT telia DOT com, pavenis AT lanet DOT lv, djgpp-workers AT delorie DOT com Subject: Re: Re: gcc-crash - and a possible solution In-Reply-To: <9906242316.AA02689@clio.rice.edu> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp-workers AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Thu, 24 Jun 1999, Charles Sandmann wrote: > > This cannot happen, because Windows lives in another virtual machine. > > That is, Windows and the DOS box have different sets of page tables, > > so there's no way a DOS program can write into the Windows address > > space, at least not by dereferencing a pointer. > > Actually Windows 3.x and 9.x use a single set of page tables, so when > you do the nearptr hack you can overwrite everything .... I'm positive I saw in some book a description of how Windows makes different VMs separate in memory. It had to do either with page directories or with page tables. The effect is supposed to be that the same address in two different VMs is mapped to a different place in the CPU's linear address space. I understand that this is one reason why two DOS boxes cannot talk to each other via PM memory.