Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 234135
b: refs/heads/master
c: 9a620a5
h: refs/heads/master
i:
  234133: 4f8f08c
  234131: 9384048
  234127: 1118225
v: v3
  • Loading branch information
Wu Zhangjin authored and Ralf Baechle committed Mar 14, 2011
1 parent 08a9522 commit a11a55b
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 8 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 52bd080d5c87af556bf71e3b07bdd8586166c43b
refs/heads/master: 9a620a559be65023b5fd5d0eaf37dae884c4f404
14 changes: 7 additions & 7 deletions trunk/arch/mips/kernel/ftrace.c
Original file line number Diff line number Diff line change
Expand Up @@ -200,19 +200,17 @@ unsigned long ftrace_get_parent_addr(unsigned long self_addr,
int faulted;

/*
* For module, move the ip from calling site of mcount to the
* instruction "lui v1, hi_16bit_of_mcount"(offset is 20), but for
* kernel, move to the instruction "move ra, at"(offset is 12)
* For module, move the ip from calling site of mcount after the
* instruction "lui v1, hi_16bit_of_mcount"(offset is 24), but for
* kernel, move after the instruction "move ra, at"(offset is 16)
*/
ip = self_addr - (in_module(self_addr) ? 20 : 12);
ip = self_addr - (in_module(self_addr) ? 24 : 16);

/*
* search the text until finding the non-store instruction or "s{d,w}
* ra, offset(sp)" instruction
*/
do {
ip -= 4;

/* get the code at "ip": code = *(unsigned int *)ip; */
safe_load_code(code, ip, faulted);

Expand All @@ -226,7 +224,9 @@ unsigned long ftrace_get_parent_addr(unsigned long self_addr,
if ((code & S_R_SP) != S_R_SP)
return parent_addr;

} while (((code & S_RA_SP) != S_RA_SP));
/* Move to the next instruction */
ip -= 4;
} while ((code & S_RA_SP) != S_RA_SP);

sp = fp + (code & OFFSET_MASK);

Expand Down

0 comments on commit a11a55b

Please sign in to comment.