From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60760) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bsBaZ-00056v-V3 for qemu-devel@nongnu.org; Thu, 06 Oct 2016 12:32:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bsBaT-00061O-TW for qemu-devel@nongnu.org; Thu, 06 Oct 2016 12:32:06 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:38111) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bsBaR-0005wG-JP for qemu-devel@nongnu.org; Thu, 06 Oct 2016 12:32:01 -0400 Date: Thu, 6 Oct 2016 12:31:50 -0400 From: "Emilio G. Cota" Message-ID: <20161006163150.GB31142@flamenco> References: <1475767463-12045-1-git-send-email-pbonzini@redhat.com> <1475767463-12045-10-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1475767463-12045-10-git-send-email-pbonzini@redhat.com> Subject: Re: [Qemu-devel] [PATCH 09/10] qemu-tech: rewrite some parts List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: qemu-devel@nongnu.org On Thu, Oct 06, 2016 at 17:24:22 +0200, Paolo Bonzini wrote: > Drop most the device emulation part and merge the rest into the description > of the MMU. Make some bits more up-to-date. > > Signed-off-by: Paolo Bonzini (snip) > The host SIGSEGV and SIGBUS signal handlers are used to get invalid > -memory accesses. The simulated program counter is found by > -retranslating the corresponding basic block and by looking where the > -host program counter was at the exception point. > - > -The virtual CPU cannot retrieve the exact @code{EFLAGS} register because > -in some cases it is not computed because of condition code > -optimisations. It is not a big concern because the emulated code can > -still be restarted in any cases. > - > -@node MMU emulation > -@section MMU emulation > - > -For system emulation QEMU supports a soft MMU. In that mode, the MMU > +memory accesses. QEMU keeps a map that host program counter to > +target program counter, and looks up where the exception happened > +based on the host program counter at the exception point. I had to read "keeps a map that host program to target program counter" several times; that "that" confused me. Perhaps "keeps a map of host-to-target program counters" would be clearer? > +On some targets, some bits of the virtual CPU's state are not flushed to the > +memory until the end of the translation block. This is done for internal "flushed to memory" sounds better to me than "flushed to the memory". Emilio