8956 Implement KPTI
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
9210 remove KMDB branch debugging support
9211 ::crregs could do with cr2/cr3 support
9209 ::ttrace should be able to filter by thread
Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
Reviewed by: Yuri Pankov <yuripv@yuripv.net>
1 /*
2 * This file and its contents are supplied under the terms of the
3 * Common Development and Distribution License ("CDDL"), version 1.0.
4 * You may only use this file in accordance with the terms of version
5 * 1.0 of the CDDL.
6 *
7 * A full copy of the text of the CDDL should have accompanied this
8 * source. A copy of the CDDL is also available via the Internet at
9 * http://www.illumos.org/license/CDDL.
10 */
11
12 /*
13 * Copyright 2015 Joyent, Inc.
14 */
15
16 #if !defined(__lint)
17 .file "unix_sup.s"
18 #endif /* __lint */
19
20 /*
21 * Support routines for the unix kmdb module
22 */
23
24 #include <sys/asm_linkage.h>
25
26 #if defined(__lint)
27
28 #include <sys/types.h>
29
30 ulong_t
31 kmdb_unix_getcr0(void)
32 { return (0); }
33
34 ulong_t
35 kmdb_unix_getcr4(void)
36 { return (0); }
37
38 #else /* __lint */
39
40 #if defined(__amd64)
41 ENTRY(kmdb_unix_getcr0)
42 movq %cr0, %rax
43 ret
44 SET_SIZE(kmdb_unix_getcr0)
45
46 ENTRY(kmdb_unix_getcr4)
47 movq %cr4, %rax
48 ret
49 SET_SIZE(kmdb_unix_getcr4)
50
51 #elif defined (__i386)
52 ENTRY(kmdb_unix_getcr0)
53 movl %cr0, %eax
54 ret
55 SET_SIZE(kmdb_unix_getcr0)
56
57 ENTRY(kmdb_unix_getcr4)
58 movl %cr4, %eax
59 ret
60 SET_SIZE(kmdb_unix_getcr4)
61
62 #endif /* __i386 */
63
64 #endif /* __lint */
--- EOF ---