From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [PATCH] slow_map: minor improvements to ROM BAR handling Date: Tue, 22 Dec 2009 17:47:32 +0200 Message-ID: <4B30EA14.7020207@redhat.com> References: <20091222111044.GA16000@redhat.com> <4B30B603.8080707@suse.de> <20091222124311.GD16165@redhat.com> <4B30CAF2.4040409@suse.de> <20091222151911.GC18541@redhat.com> <4B30E470.2030001@redhat.com> <4B30E4BB.8000507@suse.de> <20091222152806.GA18676@redhat.com> <4B30E783.7080903@suse.de> <4B30E82A.5030702@redhat.com> <4B30E891.9050908@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: "Michael S. Tsirkin" , kvm@vger.kernel.org To: Alexander Graf Return-path: Received: from mx1.redhat.com ([209.132.183.28]:15583 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752108AbZLVPrg (ORCPT ); Tue, 22 Dec 2009 10:47:36 -0500 In-Reply-To: <4B30E891.9050908@suse.de> Sender: kvm-owner@vger.kernel.org List-ID: On 12/22/2009 05:41 PM, Alexander Graf wrote: > >> We could certainly extend emulate.c to fetch instruction bytes from >> userspace. It uses ->read_std() now, so we'd need to switch to >> ->read_emulated() and add appropriate buffering. >> > I thought the policy on emulate.c was to not have a full instruction > emulator but only emulate instructions that do PT modifications or MMIO > access? > It's not a policy, just laziness. With emulate_invalid_guest_state=1 we need many more instructions. Of course I don't want to add instructions just for the sake of it, since they will be untested. I'd much prefer not to run from mmio if possible - just pointing out it's doable. > Btw, we're in the same situation with PowerPC here. The instruction > emulator is _really_ small. It only does a few MMU specific > instructions, a couple of privileged ones and MMIO accessing ones. > Plus, you have a fixed length instruction length, likely more regular too. I imagine powerpc is load/store, so you don't have to emulate a zillion ALU instructions? -- error compiling committee.c: too many arguments to function