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