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_getcr3(void)
36 { return (0); }
37
38 ulong_t
39 kmdb_unix_getcr4(void)
40 { return (0); }
41
42 #else /* __lint */
43
44 #if defined(__amd64)
45 ENTRY(kmdb_unix_getcr0)
46 movq %cr0, %rax
47 ret
48 SET_SIZE(kmdb_unix_getcr0)
49
50 ENTRY(kmdb_unix_getcr2)
51 movq %cr2, %rax
52 ret
53 SET_SIZE(kmdb_unix_getcr2)
54
55 ENTRY(kmdb_unix_getcr3)
56 movq %cr3, %rax
57 ret
58 SET_SIZE(kmdb_unix_getcr3)
59
60 ENTRY(kmdb_unix_getcr4)
61 movq %cr4, %rax
62 ret
63 SET_SIZE(kmdb_unix_getcr4)
64
65 #elif defined (__i386)
66 ENTRY(kmdb_unix_getcr0)
67 movl %cr0, %eax
68 ret
69 SET_SIZE(kmdb_unix_getcr0)
70
71 ENTRY(kmdb_unix_getcr2)
72 movl %cr2, %eax
73 ret
74 SET_SIZE(kmdb_unix_getcr2)
75
76 ENTRY(kmdb_unix_getcr3)
77 movl %cr3, %eax
78 ret
79 SET_SIZE(kmdb_unix_getcr3)
80
81 ENTRY(kmdb_unix_getcr4)
82 movl %cr4, %eax
83 ret
84 SET_SIZE(kmdb_unix_getcr4)
85
86 #endif /* __i386 */
87
88 #endif /* __lint */
|