Print this page
9441 kmdb should stash %cr3 in kdiregs
Reviewed by: John Levon <john.levon@joyent.com>
8956 Implement KPTI
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
9210 remove KMDB branch debugging support
9211 ::crregs could do with cr2/cr3 support
9209 ::ttrace should be able to filter by thread
Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
Reviewed by: Yuri Pankov <yuripv@yuripv.net>

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/intel/amd64/sys/kdi_regs.h
          +++ new/usr/src/uts/intel/amd64/sys/kdi_regs.h
↓ open down ↓ 14 lines elided ↑ open up ↑
  15   15   * If applicable, add the following below this CDDL HEADER, with the
  16   16   * fields enclosed by brackets "[]" replaced with your own identifying
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  
  22   22  /*
  23   23   * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  24   24   * Use is subject to license terms.
       25 + *
       26 + * Copyright 2018 Joyent, Inc.
  25   27   */
  26   28  
  27   29  #ifndef _AMD64_SYS_KDI_REGS_H
  28   30  #define _AMD64_SYS_KDI_REGS_H
  29   31  
  30      -#pragma ident   "%Z%%M% %I%     %E% SMI"
  31      -
  32   32  #ifdef __cplusplus
  33   33  extern "C" {
  34   34  #endif
  35   35  
  36      -#define KDIREG_NGREG    31
  37      -
  38   36  /*
  39   37   * A modified version of struct regs layout.
  40   38   */
  41   39  
  42   40  #define KDIREG_SAVFP    0
  43   41  #define KDIREG_SAVPC    1
  44   42  #define KDIREG_RDI      2
  45   43  #define KDIREG_RSI      3
  46   44  #define KDIREG_RDX      4
  47   45  #define KDIREG_RCX      5
↓ open down ↓ 4 lines elided ↑ open up ↑
  52   50  #define KDIREG_RBP      10
  53   51  #define KDIREG_R10      11
  54   52  #define KDIREG_R11      12
  55   53  #define KDIREG_R12      13
  56   54  #define KDIREG_R13      14
  57   55  #define KDIREG_R14      15
  58   56  #define KDIREG_R15      16
  59   57  #define KDIREG_FSBASE   17
  60   58  #define KDIREG_GSBASE   18
  61   59  #define KDIREG_KGSBASE  19
  62      -#define KDIREG_DS       20
  63      -#define KDIREG_ES       21
  64      -#define KDIREG_FS       22
  65      -#define KDIREG_GS       23
  66      -#define KDIREG_TRAPNO   24
  67      -#define KDIREG_ERR      25
  68      -#define KDIREG_RIP      26
  69      -#define KDIREG_CS       27
  70      -#define KDIREG_RFLAGS   28
  71      -#define KDIREG_RSP      29
  72      -#define KDIREG_SS       30
       60 +#define KDIREG_CR2      20
       61 +#define KDIREG_CR3      21
       62 +#define KDIREG_DS       22
       63 +#define KDIREG_ES       23
       64 +#define KDIREG_FS       24
       65 +#define KDIREG_GS       25
       66 +#define KDIREG_TRAPNO   26
       67 +#define KDIREG_ERR      27
       68 +#define KDIREG_RIP      28
       69 +#define KDIREG_CS       29
       70 +#define KDIREG_RFLAGS   30
       71 +#define KDIREG_RSP      31
       72 +#define KDIREG_SS       32
  73   73  
       74 +#define KDIREG_NGREG    (KDIREG_SS + 1)
       75 +
  74   76  #define KDIREG_PC       KDIREG_RIP
  75   77  #define KDIREG_SP       KDIREG_RSP
  76   78  #define KDIREG_FP       KDIREG_RBP
  77   79  
  78      -#ifdef _ASM
  79      -
  80      -/* Patch point for MSR clearing. */
  81      -#define KDI_MSR_PATCH \
  82      -        nop; nop; nop; nop; \
  83      -        nop; nop; nop; nop; \
  84      -        nop; nop; nop; nop; \
  85      -        nop; nop; nop; nop; \
  86      -        nop
  87      -
  88      -#endif  /* _ASM */
  89      -
  90      -#define KDI_MSR_PATCHOFF        8       /* bytes of code before patch point */
  91      -#define KDI_MSR_PATCHSZ         17      /* bytes in KDI_MSR_PATCH, above */
  92      -
  93   80  #ifdef __cplusplus
  94   81  }
  95   82  #endif
  96   83  
  97   84  #endif /* _AMD64_SYS_KDI_REGS_H */
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX