Print this page
8956 Implement KPTI
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>

@@ -24,11 +24,11 @@
 /*
  * Copyright (c) 2010, Intel Corporation.
  * All rights reserved.
  */
 /*
- * Copyright 2011 Joyent, Inc. All rights reserved.
+ * Copyright 2018 Joyent, Inc.
  */
 
 #ifndef _SYS_RM_PLATTER_H
 #define _SYS_RM_PLATTER_H
 

@@ -111,11 +111,16 @@
  *
  * Note: the tss should be 16 byte aligned for best performance on amd64
  * Since DEFAULTSTKSIZE is a multiple of PAGESIZE tss will be aligned.
  */
 struct cpu_tables {
-        char            ct_stack[DEFAULTSTKSZ];
+        /* IST stacks */
+        char            ct_stack1[DEFAULTSTKSZ];        /* dblfault */
+#if !defined(__xpv)
+        char            ct_stack2[DEFAULTSTKSZ];        /* nmi */
+        char            ct_stack3[DEFAULTSTKSZ];        /* mce */
+#endif
         tss_t           ct_tss;
 };
 
 /*
  * gdt entries are 8 bytes long, ensure that we have an even no. of them.