Print this page
9723 provide support for VMM's GDT handling
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/cmd/mdb/i86pc/modules/unix/unix_sup.s
          +++ new/usr/src/cmd/mdb/i86pc/modules/unix/unix_sup.s
↓ open down ↓ 5 lines elided ↑ open up ↑
   6    6   *
   7    7   * A full copy of the text of the CDDL should have accompanied this
   8    8   * source.  A copy of the CDDL is also available via the Internet at
   9    9   * http://www.illumos.org/license/CDDL.
  10   10   */
  11   11  
  12   12  /*
  13   13   * Copyright 2018 Joyent, Inc.
  14   14   */
  15   15  
  16      -#if !defined(__lint)
  17      -        .file   "unix_sup.s"
  18      -#endif /* __lint */
  19      -
  20   16  /*
  21   17   * Support routines for the unix kmdb module
  22   18   */
  23   19  
  24      -#include <sys/asm_linkage.h>
  25      -
  26   20  #if defined(__lint)
  27   21  
  28   22  #include <sys/types.h>
  29   23  
  30      -ulong_t
  31      -kmdb_unix_getcr0(void)
  32      -{ return (0); }
       24 +#else
  33   25  
  34      -ulong_t
  35      -kmdb_unix_getcr3(void)
  36      -{ return (0); }
       26 +#include <sys/asm_linkage.h>
  37   27  
  38      -ulong_t
  39      -kmdb_unix_getcr4(void)
  40      -{ return (0); }
       28 +        .file   "unix_sup.s"
  41   29  
  42      -#else   /* __lint */
  43      -
  44      -#if defined(__amd64)
  45   30          ENTRY(kmdb_unix_getcr0)
  46   31          movq %cr0, %rax
  47   32          ret
  48   33          SET_SIZE(kmdb_unix_getcr0)
  49   34  
  50   35          ENTRY(kmdb_unix_getcr2)
  51   36          movq %cr2, %rax
  52   37          ret
  53   38          SET_SIZE(kmdb_unix_getcr2)
  54   39  
  55   40          ENTRY(kmdb_unix_getcr3)
  56   41          movq %cr3, %rax
  57   42          ret
  58   43          SET_SIZE(kmdb_unix_getcr3)
  59   44  
  60   45          ENTRY(kmdb_unix_getcr4)
  61   46          movq %cr4, %rax
  62   47          ret
  63   48          SET_SIZE(kmdb_unix_getcr4)
  64   49  
  65      -#elif defined (__i386)
  66      -        ENTRY(kmdb_unix_getcr0)
  67      -        movl %cr0, %eax
       50 +        ENTRY(kmdb_unix_getgdtr)
       51 +        sgdt (%rdi)
  68   52          ret
  69      -        SET_SIZE(kmdb_unix_getcr0)
       53 +        SET_SIZE(kmdb_unix_getgdtr)
  70   54  
  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 */
       55 +#endif /* !__lint */
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX