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>
*** 20,42 ****
*/
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _AMD64_SYS_KDI_REGS_H
#define _AMD64_SYS_KDI_REGS_H
- #pragma ident "%Z%%M% %I% %E% SMI"
-
#ifdef __cplusplus
extern "C" {
#endif
- #define KDIREG_NGREG 31
-
/*
* A modified version of struct regs layout.
*/
#define KDIREG_SAVFP 0
--- 20,40 ----
*/
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
+ *
+ * Copyright 2018 Joyent, Inc.
*/
#ifndef _AMD64_SYS_KDI_REGS_H
#define _AMD64_SYS_KDI_REGS_H
#ifdef __cplusplus
extern "C" {
#endif
/*
* A modified version of struct regs layout.
*/
#define KDIREG_SAVFP 0
*** 57,97 ****
#define KDIREG_R14 15
#define KDIREG_R15 16
#define KDIREG_FSBASE 17
#define KDIREG_GSBASE 18
#define KDIREG_KGSBASE 19
! #define KDIREG_DS 20
! #define KDIREG_ES 21
! #define KDIREG_FS 22
! #define KDIREG_GS 23
! #define KDIREG_TRAPNO 24
! #define KDIREG_ERR 25
! #define KDIREG_RIP 26
! #define KDIREG_CS 27
! #define KDIREG_RFLAGS 28
! #define KDIREG_RSP 29
! #define KDIREG_SS 30
#define KDIREG_PC KDIREG_RIP
#define KDIREG_SP KDIREG_RSP
#define KDIREG_FP KDIREG_RBP
- #ifdef _ASM
-
- /* Patch point for MSR clearing. */
- #define KDI_MSR_PATCH \
- nop; nop; nop; nop; \
- nop; nop; nop; nop; \
- nop; nop; nop; nop; \
- nop; nop; nop; nop; \
- nop
-
- #endif /* _ASM */
-
- #define KDI_MSR_PATCHOFF 8 /* bytes of code before patch point */
- #define KDI_MSR_PATCHSZ 17 /* bytes in KDI_MSR_PATCH, above */
-
#ifdef __cplusplus
}
#endif
#endif /* _AMD64_SYS_KDI_REGS_H */
--- 55,84 ----
#define KDIREG_R14 15
#define KDIREG_R15 16
#define KDIREG_FSBASE 17
#define KDIREG_GSBASE 18
#define KDIREG_KGSBASE 19
! #define KDIREG_CR2 20
! #define KDIREG_CR3 21
! #define KDIREG_DS 22
! #define KDIREG_ES 23
! #define KDIREG_FS 24
! #define KDIREG_GS 25
! #define KDIREG_TRAPNO 26
! #define KDIREG_ERR 27
! #define KDIREG_RIP 28
! #define KDIREG_CS 29
! #define KDIREG_RFLAGS 30
! #define KDIREG_RSP 31
! #define KDIREG_SS 32
+ #define KDIREG_NGREG (KDIREG_SS + 1)
+
#define KDIREG_PC KDIREG_RIP
#define KDIREG_SP KDIREG_RSP
#define KDIREG_FP KDIREG_RBP
#ifdef __cplusplus
}
#endif
#endif /* _AMD64_SYS_KDI_REGS_H */