Print this page
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/kdi/kdi_offsets.in
          +++ new/usr/src/uts/intel/kdi/kdi_offsets.in
   1    1  \
   2    2  \ Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
   3    3  \ Use is subject to license terms.
   4    4  \
        5 +\ Copyright 2018 Joyent, Inc.
        6 +\
   5    7  \ CDDL HEADER START
   6    8  \
   7    9  \ The contents of this file are subject to the terms of the
   8   10  \ Common Development and Distribution License (the "License").
   9   11  \ You may not use this file except in compliance with the License.
  10   12  \
  11   13  \ You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  12   14  \ or http://www.opensolaris.org/os/licensing.
  13   15  \ See the License for the specific language governing permissions
  14   16  \ and limitations under the License.
  15   17  \
  16   18  \ When distributing Covered Code, include this CDDL HEADER in each
  17   19  \ file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  18   20  \ If applicable, add the following below this CDDL HEADER, with the
  19   21  \ fields enclosed by brackets "[]" replaced with your own identifying
  20   22  \ information: Portions Copyright [yyyy] [name of copyright owner]
  21   23  \
  22   24  \ CDDL HEADER END
  23   25  \
  24      -\ ident "%Z%%M% %I%     %E% SMI"
  25      -\
  26   26  \ CPU-save structure offsets for use in assembly code.
  27   27  \
  28      -\ Keep in sync with kdi_state.h
  29      -\
  30   28  
  31   29  #include <sys/cpuvar.h>
  32   30  #include <sys/kdi_impl.h>
  33   31  
  34   32  kdi_memrange_t  MR_SIZE
  35   33                  mr_base
  36   34                  mr_lim
  37   35  
  38   36  kdi_crumb_t     KRM_SIZE
  39   37                  krm_cpu_state
  40   38                  krm_pc
  41   39                  krm_sp
  42   40                  krm_trapno
  43   41                  krm_flag
  44   42  
  45   43  kdi_drreg_t
  46   44                  dr_ctl
  47   45                  dr_stat
  48   46                  dr_addr
  49   47  
  50      -kdi_msr_t       MSR_SIZE
  51      -                msr_num
  52      -                msr_type
  53      -                _u._msr_valp                    MSR_VALP
  54      -                _u._msr_val                     MSR_VAL
  55      -
  56   48  kdi_cpusave_t   KRS_SIZE
  57   49                  krs_gregs
  58   50                  krs_dr
  59   51                  krs_dr.dr_ctl                   KRS_DRCTL
  60   52                  krs_dr.dr_stat                  KRS_DRSTAT
  61   53                  krs_gdt
  62   54                  krs_idt
  63   55                  krs_cr0
  64      -                krs_msr
  65   56                  krs_cpu_state
  66   57                  krs_curcrumbidx
  67   58                  krs_curcrumb
  68   59                  krs_crumbs
  69   60  
  70      -cpu
  71      -                cpu_id
  72      -
  73   61  greg_t          KREG_SIZE
  74   62  
  75      -#if defined(__amd64)
  76   63  \#define        REG_SHIFT               3
  77      -#else
  78      -\#define        REG_SHIFT               2
  79      -#endif
  80   64  
  81   65  \#define        DRADDR_IDX(num)         _CONST(_MUL(num, DR_ADDR_INCR))
  82   66  \#define        DRADDR_OFF(num)         _CONST(DRADDR_IDX(num) + DR_ADDR)
  83   67  \#define        KRS_DROFF(num)          _CONST(DRADDR_OFF(num) + KRS_DR)
  84   68  \#define        REG_OFF(reg)            _CONST(_CONST(reg) << REG_SHIFT)
  85   69  \#define        KDIREG_OFF(reg)         _CONST(_MUL(KREG_SIZE, reg) + KRS_GREGS)
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX