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

@@ -19,11 +19,11 @@
  * CDDL HEADER END
  */
 /*
  * Copyright (c) 1992, 2010, Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2015 by Delphix. All rights reserved.
- * Copyright 2016 Joyent, Inc.
+ * Copyright 2018 Joyent, Inc.
  */
 
 /*      Copyright (c) 1988 AT&T */
 /*        All Rights Reserved   */
 

@@ -291,21 +291,23 @@
 #define USERLIMIT32     USERLIMIT
 
 #endif  /* __i386 */
 
 /*
- * Reserve pages just below KERNEL_TEXT for the GDT, IDT, TSS and debug info.
+ * Reserve pages just below KERNEL_TEXT for the GDT, IDT, LDT, TSS and debug
+ * info.
  *
  * For now, DEBUG_INFO_VA must be first in this list for "xm" initiated dumps
  * of solaris domUs to be usable with mdb. Relying on a fixed VA is not viable
  * long term, but it's the best we've got for now.
  */
 #if !defined(_ASM)
 #define DEBUG_INFO_VA   (KERNEL_TEXT - MMU_PAGESIZE)
 #define GDT_VA          (DEBUG_INFO_VA - MMU_PAGESIZE)
 #define IDT_VA          (GDT_VA - MMU_PAGESIZE)
-#define KTSS_VA         (IDT_VA - MMU_PAGESIZE)
+#define LDT_VA          (IDT_VA - (16 * MMU_PAGESIZE))
+#define KTSS_VA         (LDT_VA - MMU_PAGESIZE)
 #define DFTSS_VA        (KTSS_VA - MMU_PAGESIZE)
 #define MISC_VA_BASE    (DFTSS_VA)
 #define MISC_VA_SIZE    (KERNEL_TEXT - MISC_VA_BASE)
 #endif /* !_ASM */