Print this page
8956 Implement KPTI
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>

*** 23,32 **** --- 23,34 ---- /* All Rights Reserved */ /* * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. + * + * Copyright 2018 Joyent, Inc. */ #ifndef _IA32_SYS_TRAP_H #define _IA32_SYS_TRAP_H
*** 51,65 **** --- 53,69 ---- #define T_TSSFLT 0xa /* #ts invalid TSS fault */ #define T_SEGFLT 0xb /* #np segment not present fault */ #define T_STKFLT 0xc /* #ss stack fault */ #define T_GPFLT 0xd /* #gp general protection fault */ #define T_PGFLT 0xe /* #pf page fault */ + #define T_RESVTRAP 0xf /* reserved */ #define T_EXTERRFLT 0x10 /* #mf x87 FPU error fault */ #define T_ALIGNMENT 0x11 /* #ac alignment check error */ #define T_MCE 0x12 /* #mc machine check exception */ #define T_SIMDFPE 0x13 /* #xm SSE/SSE exception */ #define T_DBGENTR 0x14 /* debugger entry */ + #define T_INVALTRAP 0x1e /* invalid */ #define T_ENDPERR 0x21 /* emulated extension error flt */ #define T_ENOEXTFLT 0x20 /* emulated ext not present */ #define T_FASTTRAP 0xd2 /* fast system call */ #define T_SYSCALLINT 0x91 /* general system call */ #define T_DTRACE_RET 0x92 /* DTrace pid return */
*** 100,109 **** --- 104,129 ---- #define T_GETHRESTIME 5 /* Get high resolution time */ #define T_GETLGRP 6 /* Get home lgrpid */ #define T_LASTFAST 6 /* Last valid subfunction */ + /* + * Offsets for an interrupt/trap frame. + */ + #define T_FRAME_ERR 0 + #define T_FRAME_RIP 8 + #define T_FRAME_CS 16 + #define T_FRAME_RFLAGS 24 + #define T_FRAME_RSP 32 + #define T_FRAME_SS 40 + + #define T_FRAMERET_RIP 0 + #define T_FRAMERET_CS 8 + #define T_FRAMERET_RFLAGS 16 + #define T_FRAMERET_RSP 24 + #define T_FRAMERET_SS 32 + #ifdef __cplusplus } #endif #endif /* _IA32_SYS_TRAP_H */