diff options
| author | Rob Johnston <rob.johnston@joyent.com> | 2019-03-29 00:41:51 +0000 |
|---|---|---|
| committer | Rob Johnston <rob.johnston@joyent.com> | 2019-03-29 00:41:51 +0000 |
| commit | 001fcdd9e24e10f0f713d66ade5b578899a617b8 (patch) | |
| tree | 8a1970e5a081da4fa90c4405f886131a81479e89 /usr/src/uts/i86pc/sys | |
| parent | aafbeec1fd0d7a80544a087b4a08e199e08cdf90 (diff) | |
| parent | 451d765fb45021fb191507bcbe46a507f1ec89d9 (diff) | |
| download | illumos-joyent-001fcdd9e24e10f0f713d66ade5b578899a617b8.tar.gz | |
Merge remote-tracking branch 'origin/master' into uefi
Diffstat (limited to 'usr/src/uts/i86pc/sys')
| -rw-r--r-- | usr/src/uts/i86pc/sys/Makefile | 1 | ||||
| -rw-r--r-- | usr/src/uts/i86pc/sys/apic_common.h | 10 | ||||
| -rw-r--r-- | usr/src/uts/i86pc/sys/hma.h | 10 | ||||
| -rw-r--r-- | usr/src/uts/i86pc/sys/vmm.h | 4 |
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. |
