decode.c (83803d97dae1eaf6850a45ef8ee179cc66e147dc) | decode.c (6624cf651f1a14363d0385f36dc255d304ac7ebb) |
---|---|
1/* 2 * arch/arm/probes/decode.c 3 * 4 * Copyright (C) 2011 Jon Medhurst <tixy@yxit.co.uk>. 5 * 6 * Some contents moved here from arch/arm/include/asm/kprobes-arm.c which is 7 * Copyright (C) 2006, 2007 Motorola Inc. 8 * --- 411 unchanged lines hidden (view full) --- 420 const struct decode_header *next; 421 bool matched = false; 422 /* 423 * @insn can be modified by decode_regs. Save its original 424 * value for checkers. 425 */ 426 probes_opcode_t origin_insn = insn; 427 | 1/* 2 * arch/arm/probes/decode.c 3 * 4 * Copyright (C) 2011 Jon Medhurst <tixy@yxit.co.uk>. 5 * 6 * Some contents moved here from arch/arm/include/asm/kprobes-arm.c which is 7 * Copyright (C) 2006, 2007 Motorola Inc. 8 * --- 411 unchanged lines hidden (view full) --- 420 const struct decode_header *next; 421 bool matched = false; 422 /* 423 * @insn can be modified by decode_regs. Save its original 424 * value for checkers. 425 */ 426 probes_opcode_t origin_insn = insn; 427 |
428 /* 429 * stack_space is initialized to 0 here. Checker functions 430 * should update is value if they find this is a stack store 431 * instruction: positive value means bytes of stack usage, 432 * negitive value means unable to determine stack usage 433 * statically. For instruction doesn't store to stack, checker 434 * do nothing with it. 435 */ 436 asi->stack_space = 0; 437 |
|
428 if (emulate) 429 insn = prepare_emulated_insn(insn, asi, thumb); 430 431 for (;; h = next) { 432 enum decode_type type = h->type_regs.bits & DECODE_TYPE_MASK; 433 u32 regs = h->type_regs.bits >> DECODE_TYPE_BITS; 434 435 if (type == DECODE_TYPE_END) --- 69 unchanged lines hidden --- | 438 if (emulate) 439 insn = prepare_emulated_insn(insn, asi, thumb); 440 441 for (;; h = next) { 442 enum decode_type type = h->type_regs.bits & DECODE_TYPE_MASK; 443 u32 regs = h->type_regs.bits >> DECODE_TYPE_BITS; 444 445 if (type == DECODE_TYPE_END) --- 69 unchanged lines hidden --- |