Lines Matching refs:regs
36 * process_read_regs(proc, regs)
38 * and copy it into the regs structure (<machine/reg.h>).
41 * process_write_regs(proc, regs)
42 * Update the current register set from the passed in regs
47 * process_read_fpregs(proc, regs, sz)
49 * and copy it into the regs structure (<machine/reg.h>).
52 * process_write_fpregs(proc, regs, sz)
53 * Update the current register set from the passed in regs
58 * process_read_dbregs(proc, regs, sz)
60 * and copy it into the regs structure (<machine/reg.h>).
63 * process_write_dbregs(proc, regs, sz)
64 * Update the current register set from the passed in regs
115 long *regs = regp->regs;
118 regs[_REG_RDI] = tf->tf_rdi;
119 regs[_REG_RSI] = tf->tf_rsi;
120 regs[_REG_RDX] = tf->tf_rdx;
121 regs[_REG_R10] = tf->tf_r10;
122 regs[_REG_R8] = tf->tf_r8;
123 regs[_REG_R9] = tf->tf_r9;
125 regs[_REG_RCX] = tf->tf_rcx;
126 regs[_REG_R11] = tf->tf_r11;
127 regs[_REG_R12] = tf->tf_r12;
128 regs[_REG_R13] = tf->tf_r13;
129 regs[_REG_R14] = tf->tf_r14;
130 regs[_REG_R15] = tf->tf_r15;
131 regs[_REG_RBP] = tf->tf_rbp;
132 regs[_REG_RBX] = tf->tf_rbx;
133 regs[_REG_RAX] = tf->tf_rax;
135 regs[_REG_GS] = tf->tf_gs & 0xffff;
136 regs[_REG_FS] = tf->tf_fs & 0xffff;
137 regs[_REG_ES] = tf->tf_es & 0xffff;
138 regs[_REG_DS] = tf->tf_ds & 0xffff;
139 regs[_REG_CS] = tf->tf_cs & 0xffff;
140 regs[_REG_SS] = tf->tf_ss & 0xffff;
142 regs[_REG_GS] = 0;
143 regs[_REG_FS] = 0;
144 regs[_REG_ES] = GSEL(GUDATA_SEL, SEL_UPL);
145 regs[_REG_DS] = GSEL(GUDATA_SEL, SEL_UPL);
146 regs[_REG_CS] = LSEL(LUCODE_SEL, SEL_UPL);
147 regs[_REG_SS] = LSEL(LUDATA_SEL, SEL_UPL);
149 regs[_REG_TRAPNO] = tf->tf_trapno;
150 regs[_REG_ERR] = tf->tf_err;
151 regs[_REG_RIP] = tf->tf_rip;
152 regs[_REG_RFLAGS] = tf->tf_rflags;
153 regs[_REG_RSP] = tf->tf_rsp;
159 process_read_fpregs(struct lwp *l, struct fpreg *regs, size_t *sz)
162 process_read_fpregs_xmm(l, ®s->fxstate);
168 process_read_dbregs(struct lwp *l, struct dbreg *regs, size_t *sz)
171 x86_dbregs_read(l, regs);
181 const long *regs = regp->regs;
185 * Check for security violations. Note that struct regs is compatible
192 error = cpu_mcontext_validate(l, (const mcontext_t *)regs);
197 tf->tf_rdi = regs[_REG_RDI];
198 tf->tf_rsi = regs[_REG_RSI];
199 tf->tf_rdx = regs[_REG_RDX];
200 tf->tf_r10 = regs[_REG_R10];
201 tf->tf_r8 = regs[_REG_R8];
202 tf->tf_r9 = regs[_REG_R9];
204 tf->tf_rcx = regs[_REG_RCX];
205 tf->tf_r11 = regs[_REG_R11];
206 tf->tf_r12 = regs[_REG_R12];
207 tf->tf_r13 = regs[_REG_R13];
208 tf->tf_r14 = regs[_REG_R14];
209 tf->tf_r15 = regs[_REG_R15];
210 tf->tf_rbp = regs[_REG_RBP];
211 tf->tf_rbx = regs[_REG_RBX];
212 tf->tf_rax = regs[_REG_RAX];
214 tf->tf_gs = regs[_REG_GS] & 0xffff;
215 tf->tf_fs = regs[_REG_FS] & 0xffff;
216 tf->tf_es = regs[_REG_ES] & 0xffff;
217 tf->tf_ds = regs[_REG_DS] & 0xffff;
218 tf->tf_cs = regs[_REG_CS] & 0xffff;
219 tf->tf_ss = regs[_REG_SS] & 0xffff;
229 tf->tf_rip = regs[_REG_RIP];
230 tf->tf_rflags = regs[_REG_RFLAGS];
231 tf->tf_rsp = regs[_REG_RSP];
237 process_write_fpregs(struct lwp *l, const struct fpreg *regs, size_t sz)
240 process_write_fpregs_xmm(l, ®s->fxstate);
245 process_write_dbregs(struct lwp *l, const struct dbreg *regs, size_t sz)
252 error = x86_dbregs_validate(regs);
256 x86_dbregs_write(l, regs);
290 process_machdep_read_xstate(struct lwp *l, struct xstate *regs)
292 return process_read_xstate(l, regs);
296 process_machdep_write_xstate(struct lwp *l, const struct xstate *regs)
303 error = process_verify_xstate(regs);
307 return process_write_xstate(l, regs);