From mboxrd@z Thu Jan 1 00:00:00 1970 From: Benjamin Herrenschmidt Subject: Re: [RFC PATCH 14/16] KVM: PPC: booke: category E.HV (GS-mode) support Date: Thu, 12 Jan 2012 17:44:26 +1100 Message-ID: <1326350666.23910.209.camel@pasglop> References: <20111221013443.GN8378@schlenkerla.am.freescale.net> <1A656B06-E290-4B75-8F98-F8FAB8B817F1@suse.de> <4F0B8B7D.4@freescale.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Cc: Scott Wood , linuxppc-dev@lists.ozlabs.org, kvm@vger.kernel.org, kvm-ppc@vger.kernel.org To: Alexander Graf Return-path: Received: from gate.crashing.org ([63.228.1.57]:55038 "EHLO gate.crashing.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751536Ab2ALGou (ORCPT ); Thu, 12 Jan 2012 01:44:50 -0500 In-Reply-To: Sender: kvm-owner@vger.kernel.org List-ID: On Tue, 2012-01-10 at 04:11 +0100, Alexander Graf wrote: > This is what book3s does: > > case EMULATE_FAIL: > printk(KERN_CRIT "%s: emulation at %lx failed > (%08x)\n", > __func__, kvmppc_get_pc(vcpu), > kvmppc_get_last_inst(vcpu)); > kvmppc_core_queue_program(vcpu, flags); > r = RESUME_GUEST; > > which also doesn't throttle the printk, but I think injecting a > program fault into the guest is the most sensible thing to do if we > don't know what the instruction is supposed to do. Best case we get an > oops inside the guest telling us what broke :). You can also fallback to a slow path that reads the guest TLB, translates then reads the instruction. Of course you have to be careful as such a manual translate + read + execute needs to be somewhat synchronized with a possible TLB invalidation :-) (MMIO emulation is broken in this regard too btw) Cheers, Ben.