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.
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.
Paolo