From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41954) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WudTJ-0004lO-PK for qemu-devel@nongnu.org; Wed, 11 Jun 2014 04:01:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WudTD-0000rF-PJ for qemu-devel@nongnu.org; Wed, 11 Jun 2014 04:01:25 -0400 Message-ID: <53980CCB.2040306@suse.de> Date: Wed, 11 Jun 2014 10:01:15 +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> In-Reply-To: <5397E230.8020605@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 06:59, Paolo Bonzini wrote: > Il 11/06/2014 02:28, Alexander Graf ha scritto: >> >> >>> Am 11.06.2014 um 02:23 schrieb Peter Maydell >>> : >>> >>>> On 10 June 2014 19:09, Alexander Graf wrote: >>>> I agree. I see two different paths forward: >>>> >>>> 1) Use the patches as they are - they seem pretty sound and take the >>>> existing x86/s390 only feature to spapr >>>> 2) Model an "NMI" button. That button would get instantiated by the >>>> machine model. That would allow the wiring to be defined by the board. >>>> Monitor / QMP would only "press" that button (trigger an edge >>>> interrupt? >>>> call a function? something). >>>> >>>> >>>> I don't mind much either way - option 2 is the architecturally >>>> correct way >>>> of doing this. Option 1 probably won't hurt us either. >>> >>> In an ideal world I'd like (2), ie actually model front panel switches >>> per machine and with whatever the machine's behaviour actually >>> is. However pragmatically speaking that's an awful lot of work >>> (especially since it basically requires adding a lot of U/I which is >>> always controversial and hard to drive through). I think pragmatism >>> should probably win here. >> >> Could we just stick a new nmi function callback into the machine >> class with the nmi command calling it? >> >> That gets us on the right track to the right direction without >> putting too much work on Alexey's shoulders. Converting from there to >> an actual button object should become reasonably straight forward later. > > Personally, I don't see anything wrong in these patches, apart from > the typo that Cornelia pointed out. If you wanted to inject an NMI on non-sPAPR machines, such as -M mac99 or -M g3beige you would have to trigger an interrupt with the MPIC, not the CPU itself. Alex