From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:43989) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UBaD3-0000ai-9K for qemu-devel@nongnu.org; Fri, 01 Mar 2013 19:21:54 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UBaD2-0001dn-6g for qemu-devel@nongnu.org; Fri, 01 Mar 2013 19:21:53 -0500 Received: from mx1.redhat.com ([209.132.183.28]:57053) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UBaD1-0001cm-V0 for qemu-devel@nongnu.org; Fri, 01 Mar 2013 19:21:52 -0500 Date: Fri, 1 Mar 2013 21:03:12 -0300 From: Marcelo Tosatti Message-ID: <20130302000312.GA25309@amt.cnet> References: <1358925575-4505-1-git-send-email-hutao@cn.fujitsu.com> <20130208013947.GA3364@amt.cnet> <20130228085425.GA16362@localhost.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20130228085425.GA16362@localhost.localdomain> Subject: Re: [Qemu-devel] [PATCH v12 rebased] kvm: notify host when the guest is panicked List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Hu Tao Cc: Andrew Jones , Gleb Natapov , kvm list , Jan Kiszka , qemu-devel , "linux-kernel@vger.kernel.org" , Blue Swirl , Sasha Levin , Luiz Capitulino , KAMEZAWA Hiroyuki On Thu, Feb 28, 2013 at 04:54:25PM +0800, Hu Tao wrote: > > > diff --git a/arch/x86/include/uapi/asm/kvm_para.h b/arch/x86/include/uapi/asm/kvm_para.h > > > index 06fdbd9..c15ef33 100644 > > > --- a/arch/x86/include/uapi/asm/kvm_para.h > > > +++ b/arch/x86/include/uapi/asm/kvm_para.h > > > @@ -96,5 +96,7 @@ struct kvm_vcpu_pv_apf_data { > > > #define KVM_PV_EOI_ENABLED KVM_PV_EOI_MASK > > > #define KVM_PV_EOI_DISABLED 0x0 > > > > > > +#define KVM_PV_EVENT_PORT (0x505UL) > > > + > > > > No need for the ioport to be hard coded. What are the options to > > communicate an address to the guest? An MSR, via ACPI? > > I'm not quite understanding here. By 'address', you mean an ioport? > how to communicate an address? (I have little knowledge about ACPI) Yes, the ioport. The address of the ioport should not be fixed (for example future emulated board could use that fixed ioport address, 0x505UL). One option is to pass the address via an MSR. Yes, that is probably the best option because there is no dependency on ACPI. > > "pv-event" is a bad name for an interface which is specific to notify > > panic events. Please use pv-panic everywhere. > > panic event is one of the events supported. Can we keep the name? > > Call the initialization code from kvm_guest_init, only one function is > > necessary. > > At the point of kvm_guest_init, rqeust_region (called by > kvm_pv_event_init) will block, so the guest kernel won't up. Why does it block? > > > #define PANIC_TIMER_STEP 100 > > > #define PANIC_BLINK_SPD 18 > > > @@ -132,6 +133,9 @@ void panic(const char *fmt, ...) > > > if (!panic_blink) > > > panic_blink = no_blink; > > > > > > + if (kvm_pv_event_enabled()) > > > + panic_timeout = 0; > > > + > > > > What is the rationale behind this? > > This is a hack to disable reset_on_panic if user enables > pv-event. Condition it to kvm_pv_event_enabled() directly?