mirror of
https://github.com/xemu-project/xemu.git
synced 2024-11-23 19:49:43 +00:00
nmi: remove x86 specific nmi handling
nmi_monitor_handle is wired to call the x86 nmi handler. So, we can directly use it at call sites. Signed-off-by: Bandan Das <bsd@redhat.com> Message-Id: <1463761717-26558-3-git-send-email-bsd@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
1255166b99
commit
f7e981f295
@ -20,16 +20,11 @@
|
||||
*/
|
||||
|
||||
#include "qemu/osdep.h"
|
||||
#include "qom/cpu.h"
|
||||
#include "hw/nmi.h"
|
||||
#include "qapi/error.h"
|
||||
#include "qapi/qmp/qerror.h"
|
||||
#include "monitor/monitor.h"
|
||||
|
||||
#if defined(TARGET_I386)
|
||||
#include "cpu.h"
|
||||
#endif
|
||||
|
||||
struct do_nmi_s {
|
||||
int cpu_index;
|
||||
Error *err;
|
||||
@ -78,25 +73,6 @@ void nmi_monitor_handle(int cpu_index, Error **errp)
|
||||
}
|
||||
}
|
||||
|
||||
void inject_nmi(void)
|
||||
{
|
||||
#if defined(TARGET_I386)
|
||||
CPUState *cs;
|
||||
|
||||
CPU_FOREACH(cs) {
|
||||
X86CPU *cpu = X86_CPU(cs);
|
||||
|
||||
if (!cpu->apic_state) {
|
||||
cpu_interrupt(cs, CPU_INTERRUPT_NMI);
|
||||
} else {
|
||||
apic_deliver_nmi(cpu->apic_state);
|
||||
}
|
||||
}
|
||||
#else
|
||||
nmi_monitor_handle(0, NULL);
|
||||
#endif
|
||||
}
|
||||
|
||||
static const TypeInfo nmi_info = {
|
||||
.name = TYPE_NMI,
|
||||
.parent = TYPE_INTERFACE,
|
||||
|
@ -143,7 +143,7 @@ void watchdog_perform_action(void)
|
||||
case WDT_NMI:
|
||||
qapi_event_send_watchdog(WATCHDOG_EXPIRATION_ACTION_INJECT_NMI,
|
||||
&error_abort);
|
||||
inject_nmi();
|
||||
nmi_monitor_handle(0, NULL);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -45,6 +45,5 @@ typedef struct NMIClass {
|
||||
} NMIClass;
|
||||
|
||||
void nmi_monitor_handle(int cpu_index, Error **errp);
|
||||
void inject_nmi(void);
|
||||
|
||||
#endif /* NMI_H */
|
||||
|
Loading…
Reference in New Issue
Block a user