Blackfin: fix building IPIPE code when XIP is enabled
authorMike Frysinger <vapier@gentoo.org>
Sun, 14 Nov 2010 00:02:53 +0000 (00:02 +0000)
committerMike Frysinger <vapier@gentoo.org>
Mon, 10 Jan 2011 12:18:21 +0000 (07:18 -0500)
The low level assembly needs to use the pseudo_long_call helper so that
we use the right call insn when doing kernel XIP.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
arch/blackfin/mach-common/entry.S

index 2ca915e..bc08c98 100644 (file)
@@ -615,7 +615,7 @@ ENTRY(_system_call)
 #ifdef CONFIG_IPIPE
        r0 = sp;
        SP += -12;
-       call ___ipipe_syscall_root;
+       pseudo_long_call ___ipipe_syscall_root, p0;
        SP += 12;
        cc = r0 == 1;
        if cc jump .Lsyscall_really_exit;
@@ -692,7 +692,7 @@ ENTRY(_system_call)
        [--sp] = reti;
        SP += 4; /* don't merge with next insn to keep the pattern obvious */
        SP += -12;
-       call ___ipipe_sync_root;
+       pseudo_long_call ___ipipe_sync_root, p4;
        SP += 12;
        jump .Lresume_userspace_1;
 .Lsyscall_no_irqsync: