From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54243) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wue7f-0007ck-7G for qemu-devel@nongnu.org; Wed, 11 Jun 2014 04:43:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Wue7X-0008By-Nt for qemu-devel@nongnu.org; Wed, 11 Jun 2014 04:43:07 -0400 Message-ID: <53981691.9020407@suse.de> Date: Wed, 11 Jun 2014 10:42:57 +0200 From: Alexander Graf MIME-Version: 1.0 References: <1401869330-32449-1-git-send-email-aik@ozlabs.ru> <1401869330-32449-2-git-send-email-aik@ozlabs.ru> <20140610093951.6dd64ea4@redhat.com> <20140610164107.249d8290.cornelia.huck@de.ibm.com> <20140610104847.1cb5a424@redhat.com> <53973277.4090500@redhat.com> <539749EB.2050608@suse.de> <1A9DA1AC-C696-452F-8D7E-68C49E339785@suse.de> <5397E230.8020605@redhat.com> <53980CCB.2040306@suse.de> <5398130D.8040706@redhat.com> <53981381.6060302@suse.de> <53981549.2090307@redhat.com> In-Reply-To: <53981549.2090307@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v3 1/4] cpus: Define NMI callback List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini , Peter Maydell Cc: Alex Bligh , Alexey Kardashevskiy , QEMU Developers , Markus Armbruster , "qemu-ppc@nongnu.org" , Stefan Hajnoczi , Cornelia Huck , Luiz Capitulino , =?ISO-8859-1?Q?Andreas_F=E4r?= =?ISO-8859-1?Q?ber?= , Richard Henderson On 11.06.14 10:37, Paolo Bonzini wrote: > Il 11/06/2014 10:29, Alexander Graf ha scritto: >>> >>> But right now inject-nmi was a CPU-specific interface and whoever >>> needs something different will have to find a way. >>> >>> You could argue that Alexey does need something different thanks to >>> his need to inject the NMI on all CPUs. >>> >>> What about an NMIMonitorHandler interface that takes a Monitor*, and >>> then you iterate on all of /machine looking for implementors of the >>> interface? Then -M mac99 can add it to the MPIC, -M spapr can just >>> ignore the Monitor*, and i386/s390 can look at the current CPU. >> >> I think modeling a button is easier and closer to what you'd actually >> get on real hardware. > > What is a button? It certainly doesn't have any evdev support in Linux. It's a device that links a qemu_irq line and implements an interface to call it. > The NMI button is just something that closes a circuit. Whoever is > attached to that circuit reacts, in QEMU that's whoever implements an > NMIMonitorHandler. The Monitor* is just for backwards HMP compatibility. I think the only major difference in thinking we have here is that I don't think it's necessary to maintain HMP compatibility for this debug feature that maybe 2 people in the world ever used ;). Alex