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 */