Changeset View
Changeset View
Standalone View
Standalone View
sys/amd64/amd64/machdep.c
Show First 20 Lines • Show All 2,039 Lines • ▼ Show 20 Lines | fill_regs(struct thread *td, struct reg *regs) | ||||
tp = td->td_frame; | tp = td->td_frame; | ||||
return (fill_frame_regs(tp, regs)); | return (fill_frame_regs(tp, regs)); | ||||
} | } | ||||
int | int | ||||
fill_frame_regs(struct trapframe *tp, struct reg *regs) | fill_frame_regs(struct trapframe *tp, struct reg *regs) | ||||
{ | { | ||||
regs->r_r15 = tp->tf_r15; | regs->r_r15 = tp->tf_r15; | ||||
regs->r_r14 = tp->tf_r14; | regs->r_r14 = tp->tf_r14; | ||||
regs->r_r13 = tp->tf_r13; | regs->r_r13 = tp->tf_r13; | ||||
regs->r_r12 = tp->tf_r12; | regs->r_r12 = tp->tf_r12; | ||||
regs->r_r11 = tp->tf_r11; | regs->r_r11 = tp->tf_r11; | ||||
regs->r_r10 = tp->tf_r10; | regs->r_r10 = tp->tf_r10; | ||||
regs->r_r9 = tp->tf_r9; | regs->r_r9 = tp->tf_r9; | ||||
regs->r_r8 = tp->tf_r8; | regs->r_r8 = tp->tf_r8; | ||||
Show All 15 Lines | if (tp->tf_flags & TF_HASSEGS) { | ||||
regs->r_fs = tp->tf_fs; | regs->r_fs = tp->tf_fs; | ||||
regs->r_gs = tp->tf_gs; | regs->r_gs = tp->tf_gs; | ||||
} else { | } else { | ||||
regs->r_ds = 0; | regs->r_ds = 0; | ||||
regs->r_es = 0; | regs->r_es = 0; | ||||
regs->r_fs = 0; | regs->r_fs = 0; | ||||
regs->r_gs = 0; | regs->r_gs = 0; | ||||
} | } | ||||
regs->r_err = 0; | |||||
regs->r_trapno = 0; | |||||
return (0); | return (0); | ||||
} | } | ||||
int | int | ||||
set_regs(struct thread *td, struct reg *regs) | set_regs(struct thread *td, struct reg *regs) | ||||
{ | { | ||||
struct trapframe *tp; | struct trapframe *tp; | ||||
register_t rflags; | register_t rflags; | ||||
▲ Show 20 Lines • Show All 651 Lines • Show Last 20 Lines |