diff options
author | Mike Frysinger <vapier@gentoo.org> | 2010-11-13 19:02:53 -0500 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2011-01-10 07:18:21 -0500 |
commit | 503f3d30c6f29c58fce77bfe47b04e3c667e7640 (patch) | |
tree | 1f9a69b228cbd0b5682671fc1149387303c6aacd /arch/blackfin/mach-common | |
parent | 064cc44e62283227524c8e84ff247939728dec79 (diff) |
Blackfin: fix building IPIPE code when XIP is enabled
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>
Diffstat (limited to 'arch/blackfin/mach-common')
-rw-r--r-- | arch/blackfin/mach-common/entry.S | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/blackfin/mach-common/entry.S b/arch/blackfin/mach-common/entry.S index 2ca915ee181f..bc08c98d008d 100644 --- a/arch/blackfin/mach-common/entry.S +++ b/arch/blackfin/mach-common/entry.S | |||
@@ -615,7 +615,7 @@ ENTRY(_system_call) | |||
615 | #ifdef CONFIG_IPIPE | 615 | #ifdef CONFIG_IPIPE |
616 | r0 = sp; | 616 | r0 = sp; |
617 | SP += -12; | 617 | SP += -12; |
618 | call ___ipipe_syscall_root; | 618 | pseudo_long_call ___ipipe_syscall_root, p0; |
619 | SP += 12; | 619 | SP += 12; |
620 | cc = r0 == 1; | 620 | cc = r0 == 1; |
621 | if cc jump .Lsyscall_really_exit; | 621 | if cc jump .Lsyscall_really_exit; |
@@ -692,7 +692,7 @@ ENTRY(_system_call) | |||
692 | [--sp] = reti; | 692 | [--sp] = reti; |
693 | SP += 4; /* don't merge with next insn to keep the pattern obvious */ | 693 | SP += 4; /* don't merge with next insn to keep the pattern obvious */ |
694 | SP += -12; | 694 | SP += -12; |
695 | call ___ipipe_sync_root; | 695 | pseudo_long_call ___ipipe_sync_root, p4; |
696 | SP += 12; | 696 | SP += 12; |
697 | jump .Lresume_userspace_1; | 697 | jump .Lresume_userspace_1; |
698 | .Lsyscall_no_irqsync: | 698 | .Lsyscall_no_irqsync: |