trapframe
void generic_lwp_return (struct lwp *, struct trapframe *);
void fork_return (struct lwp *, struct trapframe *);
struct trapframe;
void hard_sniff(struct trapframe *);
#define x86_64_saved_state trapframe
int kdb_trap(int, int, struct trapframe *);
struct trapframe;
start_init(void *dummy, struct trapframe *frame)
struct trapframe *tf = lp->lwp_md.md_regs;
struct trapframe *tf = lp->lwp_md.md_regs;
(void (*)(void *, struct trapframe *))func, arg);
void syscall2 (struct trapframe *);
void trap_handle_userexit(struct trapframe *, int);
struct trapframe;
struct trapframe *md_regs; /* registers on current frame */
struct trapframe *tf;
tf = (struct trapframe *)((long)*fp + 16);
tf = (struct trapframe *)((long)*fp + 16);
ASSYM(TF_R15, offsetof(struct trapframe, tf_r15));
ASSYM(TF_R14, offsetof(struct trapframe, tf_r14));
ASSYM(TF_R13, offsetof(struct trapframe, tf_r13));
ASSYM(TF_R12, offsetof(struct trapframe, tf_r12));
ASSYM(TF_R11, offsetof(struct trapframe, tf_r11));
ASSYM(TF_R10, offsetof(struct trapframe, tf_r10));
ASSYM(TF_R9, offsetof(struct trapframe, tf_r9));
ASSYM(TF_R8, offsetof(struct trapframe, tf_r8));
ASSYM(TF_RDI, offsetof(struct trapframe, tf_rdi));
ASSYM(TF_RSI, offsetof(struct trapframe, tf_rsi));
ASSYM(TF_RBP, offsetof(struct trapframe, tf_rbp));
ASSYM(TF_RBX, offsetof(struct trapframe, tf_rbx));
ASSYM(TF_RDX, offsetof(struct trapframe, tf_rdx));
ASSYM(TF_RCX, offsetof(struct trapframe, tf_rcx));
ASSYM(TF_RAX, offsetof(struct trapframe, tf_rax));
ASSYM(TF_TRAPNO, offsetof(struct trapframe, tf_trapno));
ASSYM(TF_XFLAGS, offsetof(struct trapframe, tf_xflags));
ASSYM(TF_ADDR, offsetof(struct trapframe, tf_addr));
ASSYM(TF_ERR, offsetof(struct trapframe, tf_err));
ASSYM(TF_FLAGS, offsetof(struct trapframe, tf_flags));
ASSYM(TF_RIP, offsetof(struct trapframe, tf_rip));
ASSYM(TF_CS, offsetof(struct trapframe, tf_cs));
ASSYM(TF_RFLAGS, offsetof(struct trapframe, tf_rflags));
ASSYM(TF_RSP, offsetof(struct trapframe, tf_rsp));
ASSYM(TF_SS, offsetof(struct trapframe, tf_ss));
ASSYM(TF_SIZE, sizeof(struct trapframe));
sizeof(struct trapframe));
struct trapframe *regs = lp->lwp_md.md_regs;
bzero((char *)regs, sizeof(struct trapframe));
struct trapframe *tp;
struct trapframe *tp;
static struct trapframe proc0_tf;
struct trapframe *regs;
KKASSERT(__offsetof(struct trapframe, tf_rdi) == 0);
_bcopy(regs, &sf.sf_uc.uc_mcontext.mc_rdi, sizeof(struct trapframe));
cpu_sanitize_frame(struct trapframe *frame)
struct trapframe *regs;
bcopy(&ucp->uc_mcontext.mc_gs, tf, sizeof(struct trapframe));
hard_sniff(struct trapframe *tf)
extern void trap(struct trapframe *frame);
trap_fatal(struct trapframe *frame, vm_offset_t eva)
static int trap_pfault(struct trapframe *, int);
static void trap_fatal(struct trapframe *, vm_offset_t);
void dblfault_handler(struct trapframe *frame);
dblfault_handler(struct trapframe *frame)
syscall2(struct trapframe *frame)
struct trapframe *frame;
fork_return(struct lwp *lp, struct trapframe *frame)
generic_lwp_return(struct lwp *lp, struct trapframe *frame)
set_vkernel_fp(struct trapframe *frame)
cpu_vkernel_trap(struct trapframe *frame, int error)
userret(struct lwp *lp, struct trapframe *frame, int sticks)
trap_is_smap(struct trapframe *frame)
trap(struct trapframe *frame)
trap_handle_userexit(struct trapframe *frame, int sticks)
trap_pfault(struct trapframe *frame, int usermode)
void _test_frame_enter(struct trapframe *frame);
void _test_frame_exit(struct trapframe *frame);
_test_frame_enter(struct trapframe *frame)
_test_frame_exit(struct trapframe *frame)
lp2->lwp_md.md_regs = (struct trapframe *)pcb2 - 1;
struct trapframe *regs = lp->lwp_md.md_regs;
(void (*)(void *, struct trapframe *))generic_lwp_return, lp);
cpu_set_fork_handler(struct lwp *lp, void (*func)(void *, struct trapframe *),
void kern_trap(struct trapframe *);
void user_trap(struct trapframe *);
void syscall2 (struct trapframe *);
int npxdna(struct trapframe *);
struct trapframe;
struct trapframe *md_regs; /* registers on current frame */
static struct trapframe proc0_tf;
struct trapframe *regs;
KKASSERT(__offsetof(struct trapframe, tf_rdi) == 0);
_bcopy(regs, &sf.sf_uc.uc_mcontext.mc_rdi, sizeof(struct trapframe));
cpu_sanitize_frame(struct trapframe *frame)
struct trapframe *regs;
bcopy(&ucp.uc_mcontext.mc_gs, tf, sizeof(struct trapframe));
bcopy(&ucp->uc_mcontext.mc_rdi, regs, sizeof(struct trapframe));
struct trapframe *regs = lp->lwp_md.md_regs;
bzero((char *)regs, sizeof(struct trapframe));
struct trapframe *tp;
struct trapframe *tp;
struct trapframe *tf;
tf = (struct trapframe *)((long)*fp + 16);
tf = (struct trapframe *)((long)*fp + 16);
kern_trap((struct trapframe *)&ctx->uc_mcontext.mc_rdi);
npxdna(struct trapframe *frame)
syscall2(struct trapframe *frame)
struct trapframe *frame;
fork_return(struct lwp *lp, struct trapframe *frame)
generic_lwp_return(struct lwp *lp, struct trapframe *frame)
struct trapframe *tf = (void *)&frame->if_rdi;
set_vkernel_fp(struct trapframe *frame)
cpu_vkernel_trap(struct trapframe *frame, int error)
userret(struct lwp *lp, struct trapframe *frame, int sticks)
user_trap(struct trapframe *frame)
kern_trap(struct trapframe *frame)
trap_pfault(struct trapframe *frame, int usermode, vm_offset_t eva)
trap_fatal(struct trapframe *frame, int usermode, vm_offset_t eva)
int (*pmath_emulate) (struct trapframe *);
static int trap_pfault (struct trapframe *, int, vm_offset_t);
static void trap_fatal (struct trapframe *, int, vm_offset_t);
lp2->lwp_md.md_regs = (struct trapframe *)pcb2 - 1;
struct trapframe *regs = lp->lwp_md.md_regs;
(void (*)(void *, struct trapframe *))generic_lwp_return, lp);
cpu_set_fork_handler(struct lwp *lp, void (*func)(void *, struct trapframe *),
void cpu_set_fork_handler (struct lwp *, void (*)(void *, struct trapframe *), void *);
struct trapframe;
struct trapframe *sm_frame; /* trapframe - saved user context */
struct trapframe * tframe; char tframe_[PAD_(struct trapframe *)];
struct trapframe;
int cpu_sanitize_frame (struct trapframe *);
void cpu_vkernel_trap(struct trapframe *, int);
void set_vkernel_fp(struct trapframe *);
void vkernel_trap(struct lwp *lp, struct trapframe *frame);
struct trapframe save_trapframe; /* swapped context */
struct trapframe *user_trapframe; /* copyback to vkernel */
struct trapframe;
int vmspace_ctl (void *, int, struct trapframe *, struct vextframe *);
framesz = sizeof(struct trapframe);
vkernel_trap(struct lwp *lp, struct trapframe *frame)