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