Lines Matching refs:code

7 fetch_store_raw(unsigned long val, struct fetch_insn *code, void *buf)
9 switch (code->size) {
29 fetch_apply_bitfield(struct fetch_insn *code, void *buf)
31 switch (code->basesize) {
33 *(u8 *)buf <<= code->lshift;
34 *(u8 *)buf >>= code->rshift;
37 *(u16 *)buf <<= code->lshift;
38 *(u16 *)buf >>= code->rshift;
41 *(u32 *)buf <<= code->lshift;
42 *(u32 *)buf >>= code->rshift;
45 *(u64 *)buf <<= code->lshift;
46 *(u64 *)buf >>= code->rshift;
57 process_fetch_insn(struct fetch_insn *code, void *rec, void *edata,
103 process_common_fetch_insn(struct fetch_insn *code, unsigned long *val)
105 switch (code->op) {
107 *val = code->immediate;
113 *val = (unsigned long)code->data;
123 process_fetch_insn_bottom(struct fetch_insn *code, unsigned long val,
134 if (code->op == FETCH_OP_DEREF) {
136 ret = probe_mem_read(&val, (void *)val + code->offset,
138 } else if (code->op == FETCH_OP_UDEREF) {
141 (void *)val + code->offset, sizeof(val));
146 code++;
149 s3 = code;
153 switch (code->op) {
155 ret = fetch_store_strlen(val + code->offset);
156 code++;
159 ret = fetch_store_strlen_user(val + code->offset);
160 code++;
163 ret = fetch_store_symstrlen(val + code->offset);
164 code++;
171 switch (code->op) {
173 fetch_store_raw(val, code, dest);
176 probe_mem_read(dest, (void *)val + code->offset, code->size);
179 probe_mem_read_user(dest, (void *)val + code->offset, code->size);
183 ret = fetch_store_string(val + code->offset, dest, base);
187 ret = fetch_store_string_user(val + code->offset, dest, base);
191 ret = fetch_store_symstring(val + code->offset, dest, base);
196 code++;
199 if (code->op == FETCH_OP_MOD_BF) {
200 fetch_apply_bitfield(code, dest);
201 code++;
206 if (code->op == FETCH_OP_LP_ARRAY) {
210 if (++i < code->param) {
211 code = s3;
218 code--;
226 code++;
230 return code->op == FETCH_OP_END ? ret : -EILSEQ;
243 len = process_fetch_insn(arg->code, regs, edata, NULL, NULL);
269 ret = process_fetch_insn(arg->code, rec, edata, dl, base);