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 */
|
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 2018 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_getcr2)
47 movq %cr2, %rax
48 ret
49 SET_SIZE(kmdb_unix_getcr2)
50
51 ENTRY(kmdb_unix_getcr3)
52 movq %cr3, %rax
53 ret
54 SET_SIZE(kmdb_unix_getcr3)
55
56 ENTRY(kmdb_unix_getcr4)
57 movq %cr4, %rax
58 ret
59 SET_SIZE(kmdb_unix_getcr4)
60
61 #elif defined (__i386)
62 ENTRY(kmdb_unix_getcr0)
63 movl %cr0, %eax
64 ret
65 SET_SIZE(kmdb_unix_getcr0)
66
67 ENTRY(kmdb_unix_getcr2)
68 movl %cr2, %eax
69 ret
70 SET_SIZE(kmdb_unix_getcr2)
71
72 ENTRY(kmdb_unix_getcr3)
73 movl %cr3, %eax
74 ret
75 SET_SIZE(kmdb_unix_getcr3)
76
77 ENTRY(kmdb_unix_getcr4)
78 movl %cr4, %eax
79 ret
80 SET_SIZE(kmdb_unix_getcr4)
81
82 #endif /* __i386 */
83
84 #endif /* __lint */
|