summaryrefslogtreecommitdiff
path: root/usr/src/uts/i86pc/sys
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/i86pc/sys')
-rw-r--r--usr/src/uts/i86pc/sys/Makefile1
-rw-r--r--usr/src/uts/i86pc/sys/apic_common.h10
-rw-r--r--usr/src/uts/i86pc/sys/hma.h10
-rw-r--r--usr/src/uts/i86pc/sys/vmm.h4
4 files changed, 22 insertions, 3 deletions
diff --git a/usr/src/uts/i86pc/sys/Makefile b/usr/src/uts/i86pc/sys/Makefile
index e6ea573d0b..ecd87a9538 100644
--- a/usr/src/uts/i86pc/sys/Makefile
+++ b/usr/src/uts/i86pc/sys/Makefile
@@ -46,6 +46,7 @@ CHKHDRS= \
ddi_subrdefs.h \
debug_info.h \
fastboot.h \
+ hma.h \
ht.h \
mach_mmu.h \
machclock.h \
diff --git a/usr/src/uts/i86pc/sys/apic_common.h b/usr/src/uts/i86pc/sys/apic_common.h
index 03e851a4dc..58b9bb93a6 100644
--- a/usr/src/uts/i86pc/sys/apic_common.h
+++ b/usr/src/uts/i86pc/sys/apic_common.h
@@ -23,7 +23,7 @@
* Copyright (c) 2017 by Delphix. All rights reserved.
*/
/*
- * Copyright 2018 Joyent, Inc.
+ * Copyright 2019, Joyent, Inc.
*/
#ifndef _SYS_APIC_COMMON_H
@@ -155,7 +155,6 @@ extern lock_t apic_nmi_lock;
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;
@@ -202,6 +201,13 @@ extern int apic_msix_enable;
extern uint32_t apic_get_localapicid(uint32_t cpuid);
extern uchar_t apic_get_ioapicid(uchar_t ioapicindex);
+#define NMI_ACTION_UNSET (0)
+#define NMI_ACTION_PANIC (1)
+#define NMI_ACTION_IGNORE (2)
+#define NMI_ACTION_KMDB (3)
+
+extern int nmi_action;
+
#ifdef __cplusplus
}
#endif
diff --git a/usr/src/uts/i86pc/sys/hma.h b/usr/src/uts/i86pc/sys/hma.h
index 0c6161fdfc..0f4beb0452 100644
--- a/usr/src/uts/i86pc/sys/hma.h
+++ b/usr/src/uts/i86pc/sys/hma.h
@@ -38,6 +38,7 @@ extern "C" {
*/
typedef struct hma_reg hma_reg_t;
extern hma_reg_t *hma_register(const char *);
+extern hma_reg_t *hma_register_exclusive(const char *);
extern void hma_unregister(hma_reg_t *);
/*
@@ -49,6 +50,15 @@ extern void hma_unregister(hma_reg_t *);
extern uint16_t hma_vmx_vpid_alloc(void);
extern void hma_vmx_vpid_free(uint16_t);
+struct hma_svm_asid {
+ uint64_t hsa_gen;
+ uint32_t hsa_asid;
+};
+typedef struct hma_svm_asid hma_svm_asid_t;
+
+extern void hma_svm_asid_init(hma_svm_asid_t *);
+extern uint8_t hma_svm_asid_update(hma_svm_asid_t *, boolean_t, boolean_t);
+
/*
* FPU related management. These functions provide a set of APIs to manage the
* FPU state and switch between host and guest management of this state.
diff --git a/usr/src/uts/i86pc/sys/vmm.h b/usr/src/uts/i86pc/sys/vmm.h
index 163c0781cf..e5e5460211 100644
--- a/usr/src/uts/i86pc/sys/vmm.h
+++ b/usr/src/uts/i86pc/sys/vmm.h
@@ -38,7 +38,7 @@
* http://www.illumos.org/license/CDDL.
*
* Copyright 2015 Pluribus Networks Inc.
- * Copyright 2018 Joyent, Inc.
+ * Copyright 2019 Joyent, Inc.
*/
#ifndef _VMM_H_
@@ -741,6 +741,8 @@ void vmm_sol_glue_cleanup(void);
int vmm_mod_load(void);
int vmm_mod_unload(void);
+void vmm_call_trap(uint64_t);
+
/*
* Because of tangled headers, these are mirrored by vmm_drv.h to present the
* interface to driver consumers.