From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1EFgPY-0008Q1-Jm for qemu-devel@nongnu.org; Wed, 14 Sep 2005 19:11:28 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1EFgPU-0008NT-3G for qemu-devel@nongnu.org; Wed, 14 Sep 2005 19:11:26 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1EFgPC-0007hM-HZ for qemu-devel@nongnu.org; Wed, 14 Sep 2005 19:11:06 -0400 Received: from [128.8.10.163] (helo=po1.wam.umd.edu) by monty-python.gnu.org with esmtp (Exim 4.34) id 1EFfxA-000099-KH for qemu-devel@nongnu.org; Wed, 14 Sep 2005 18:42:08 -0400 Received: from jbrown.mylinuxbox.org (jma-box.student.umd.edu [129.2.253.219]) by po1.wam.umd.edu (8.12.10/8.12.10) with ESMTP id j8EMg7Pq004857 for ; Wed, 14 Sep 2005 18:42:07 -0400 (EDT) Date: Wed, 14 Sep 2005 18:42:03 -0400 From: "Jim C. Brown" Subject: Re: [Qemu-devel] About qemu emulation speed (a question) and supported OS Message-ID: <20050914224203.GB9301@jbrown.mylinuxbox.org> References: <1dc7f0e3050913053635cd61af@mail.gmail.com> <20050913214856.GA31111@jbrown.mylinuxbox.org> <43278F61.8060103@us.ibm.com> <200509140448.24354.mark.williamson@cl.cam.ac.uk> <4327A6BB.1040509@us.ibm.com> <20050914133921.GB6052@jbrown.mylinuxbox.org> <43287022.3090106@us.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <43287022.3090106@us.ibm.com> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org On Wed, Sep 14, 2005 at 01:46:58PM -0500, Anthony Liguori wrote: > You can't readahead beyond a basic block. Taking a trap for each basic > block and translating the block is what QEMU does. > No, QEMU translates everything from guest machine code into its internal codes. I'm talking about using read ahead to change only those instructions which cause problems, and replacing them with instructions that are from the same instruction set I suppose you could call that emulation in a sense (as ur emulating the problematic instructions with other ones that create the behavior you need) but it is not the same as what QEMU currently does. Of course, VMware also emulates hardware, but you'd have to do that no matter what technique you use and it is a separate issue from emulation vs translation vs virtualization. (Theoretically VMware could just use a HAL layer like Xen does (or the newer plex86 did) and still be a virtualizer, but then it wouldn't work with unmodified guest OSes.) > Regards, > > Anthony Liguori -- Infinite complexity begets infinite beauty. Infinite precision begets infinite perfection.