Series fully reviewed. I plan to queue/pull via my hw-misc tree. Since v4: - Fixed typos reported in v3
Since v3: - Rename trigger -> inject (API entry point) - Rename deliver -> raise (machine-specific handler) - Do not mention 'cpu' in HMP doc Cover: - Have s390x always deliver NMI to the first CPU. - Remove the @cpu_index / @errp arguments from handler. - Rename API as nmi_trigger() (since not monitor specific). - Only deliver NMI once Rationale described by Peter in v1 [*]: > The current hw/core/nmi.c code is a bit odd because it's partly > working with a cpu_index and partly not: the code passes cpu_index > around, but in practice for the QMP command the user can't set > which CPU to operate on, and for everything except s390 the > implementation doesn't care anyway. My impression from the IRC > discussion is that it's not really necessary for the S390 that > the monitor user be able to specify which CPU to NMI (and in any > case you can only do that from the HMP command, not the QMP > command, AIUI), so getting rid of that weird inconsistency makes > sense to me: and that's what this patchset is doing. [*] https://lore.kernel.org/qemu-devel/cafeaca_0qufw0mewhc+v+psoise-kqdt9wv4f3rafekyq0d...@mail.gmail.com/: Philippe Mathieu-Daudé (7): hw/nmi: Use object_child_foreach_recursive() in nmi_children() hw/s390x/virtio-ccw: Always inject NMI to first CPU hw/nmi: Remove @cpu_index argument from NMIClass::nmi_monitor_handler() hw/nmi: Remove @cpu_index argument from nmi_inject() hw/nmi: Rename nmi_monitor_handler() -> raise_nmi() hw/nmi: Remove unused @errp argument from raise_nmi() hw/nmi: Raise NMI line only once qapi/machine.json | 7 +++--- qapi/run-state.json | 6 +++-- include/hw/core/nmi.h | 33 ++++++++++++++++++++++++-- hw/core/nmi.c | 48 +++++++++++--------------------------- hw/hppa/machine.c | 4 ++-- hw/i386/x86.c | 4 ++-- hw/intc/m68k_irqc.c | 4 ++-- hw/ipmi/ipmi.c | 3 +-- hw/m68k/q800-glue.c | 4 ++-- hw/misc/macio/gpio.c | 4 ++-- hw/ppc/pnv.c | 4 ++-- hw/ppc/spapr.c | 4 ++-- hw/s390x/s390-virtio-ccw.c | 8 +++---- hw/watchdog/watchdog.c | 2 +- system/cpus.c | 3 +-- hmp-commands.hx | 7 +++--- 16 files changed, 77 insertions(+), 68 deletions(-) -- 2.53.0
