diff options
Diffstat (limited to 'recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.25/0020-powerpc-ftrace-Fix-assembly-trampoline-register-usag.patch')
-rw-r--r-- | recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.25/0020-powerpc-ftrace-Fix-assembly-trampoline-register-usag.patch | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.25/0020-powerpc-ftrace-Fix-assembly-trampoline-register-usag.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.25/0020-powerpc-ftrace-Fix-assembly-trampoline-register-usag.patch new file mode 100644 index 00000000..f55431da --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.25/0020-powerpc-ftrace-Fix-assembly-trampoline-register-usag.patch | |||
@@ -0,0 +1,50 @@ | |||
1 | From 033f6d41630ea9916446d27526cad10233c43839 Mon Sep 17 00:00:00 2001 | ||
2 | From: roger blofeld <blofeldus@yahoo.com> | ||
3 | Date: Thu, 21 Jun 2012 05:27:14 +0000 | ||
4 | Subject: [PATCH 20/73] powerpc/ftrace: Fix assembly trampoline register usage | ||
5 | |||
6 | commit fd5a42980e1cf327b7240adf5e7b51ea41c23437 upstream. | ||
7 | |||
8 | Just like the module loader, ftrace needs to be updated to use r12 | ||
9 | instead of r11 with newer gcc's. | ||
10 | |||
11 | Signed-off-by: Roger Blofeld <blofeldus@yahoo.com> | ||
12 | Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> | ||
13 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
14 | --- | ||
15 | arch/powerpc/kernel/ftrace.c | 12 ++++++------ | ||
16 | 1 files changed, 6 insertions(+), 6 deletions(-) | ||
17 | |||
18 | diff --git a/arch/powerpc/kernel/ftrace.c b/arch/powerpc/kernel/ftrace.c | ||
19 | index bf99cfa..6324008 100644 | ||
20 | --- a/arch/powerpc/kernel/ftrace.c | ||
21 | +++ b/arch/powerpc/kernel/ftrace.c | ||
22 | @@ -245,9 +245,9 @@ __ftrace_make_nop(struct module *mod, | ||
23 | |||
24 | /* | ||
25 | * On PPC32 the trampoline looks like: | ||
26 | - * 0x3d, 0x60, 0x00, 0x00 lis r11,sym@ha | ||
27 | - * 0x39, 0x6b, 0x00, 0x00 addi r11,r11,sym@l | ||
28 | - * 0x7d, 0x69, 0x03, 0xa6 mtctr r11 | ||
29 | + * 0x3d, 0x80, 0x00, 0x00 lis r12,sym@ha | ||
30 | + * 0x39, 0x8c, 0x00, 0x00 addi r12,r12,sym@l | ||
31 | + * 0x7d, 0x89, 0x03, 0xa6 mtctr r12 | ||
32 | * 0x4e, 0x80, 0x04, 0x20 bctr | ||
33 | */ | ||
34 | |||
35 | @@ -262,9 +262,9 @@ __ftrace_make_nop(struct module *mod, | ||
36 | pr_devel(" %08x %08x ", jmp[0], jmp[1]); | ||
37 | |||
38 | /* verify that this is what we expect it to be */ | ||
39 | - if (((jmp[0] & 0xffff0000) != 0x3d600000) || | ||
40 | - ((jmp[1] & 0xffff0000) != 0x396b0000) || | ||
41 | - (jmp[2] != 0x7d6903a6) || | ||
42 | + if (((jmp[0] & 0xffff0000) != 0x3d800000) || | ||
43 | + ((jmp[1] & 0xffff0000) != 0x398c0000) || | ||
44 | + (jmp[2] != 0x7d8903a6) || | ||
45 | (jmp[3] != 0x4e800420)) { | ||
46 | printk(KERN_ERR "Not a trampoline\n"); | ||
47 | return -EINVAL; | ||
48 | -- | ||
49 | 1.7.7.6 | ||
50 | |||