Print this page
10597 would like a way to set NMI behavior at boot
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Andy Fiddaman <andy@omniosce.org>
@@ -21,11 +21,11 @@
/*
* Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2017 by Delphix. All rights reserved.
*/
/*
- * Copyright 2018 Joyent, Inc.
+ * Copyright 2019, Joyent, Inc.
*/
#ifndef _SYS_APIC_COMMON_H
#define _SYS_APIC_COMMON_H
@@ -153,11 +153,10 @@
extern lock_t apic_nmi_lock;
/* use to make sure only one cpu handles the error interrupt */
extern lock_t apic_error_lock;
/* Patchable global variables. */
-extern int apic_kmdb_on_nmi; /* 0 - no, 1 - yes enter kmdb */
extern uint32_t apic_divide_reg_init; /* 0 - divide by 2 */
extern apic_intrmap_ops_t *apic_vt_ops;
#ifdef DEBUG
@@ -200,10 +199,19 @@
extern int apic_msix_enable;
extern uint32_t apic_get_localapicid(uint32_t cpuid);
extern uchar_t apic_get_ioapicid(uchar_t ioapicindex);
+typedef enum nmi_action {
+ NMI_ACTION_UNSET,
+ NMI_ACTION_PANIC,
+ NMI_ACTION_IGNORE,
+ NMI_ACTION_KMDB
+} nmi_action_t;
+
+extern nmi_action_t nmi_action;
+
#ifdef __cplusplus
}
#endif
#endif /* _SYS_APIC_COMMON_H */