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