summaryrefslogtreecommitdiff
path: root/usr/src/uts/intel/sys/archsystm.h
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/intel/sys/archsystm.h')
-rw-r--r--usr/src/uts/intel/sys/archsystm.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/usr/src/uts/intel/sys/archsystm.h b/usr/src/uts/intel/sys/archsystm.h
index a39221b353..e06e79de97 100644
--- a/usr/src/uts/intel/sys/archsystm.h
+++ b/usr/src/uts/intel/sys/archsystm.h
@@ -21,6 +21,7 @@
/*
* Copyright (c) 1993, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright 2015 Joyent, Inc.
*/
#ifndef _SYS_ARCHSYSTM_H
@@ -181,6 +182,17 @@ extern void fakesoftint(void);
extern void *plat_traceback(void *);
+/*
+ * The following two macros are the four byte instruction sequence of stac, ret
+ * and clac, ret. These are used in startup_smap() as a part of properly setting
+ * up the valid instructions. For more information on SMAP, see
+ * uts/intel/ia32/ml/copy.s.
+ */
+#define SMAP_CLAC_INSTR 0xc3ca010f
+#define SMAP_STAC_INSTR 0xc3cb010f
+extern void smap_disable(void);
+extern void smap_enable(void);
+
#if defined(__xpv)
extern void xen_init_callbacks(void);
extern void xen_set_callback(void (*)(void), uint_t, uint_t);