Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm
Pull ARM updates from Russell King: - replace setup_irq() with request_irq() for ebsa110, footbridge, rpc - fix clang assembly error in kexec code - remove .fixup section in boot stub - decompressor / EFI cache flushing updates * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm: ARM: 8966/1: rpc: replace setup_irq() by request_irq() ARM: 8965/2: footbridge: replace setup_irq() by request_irq() ARM: 8964/1: ebsa110: replace setup_irq() by request_irq() ARM: 8962/1: kexec: drop invalid assembly argument ARM: decompressor: switch to by-VA cache maintenance for v7 cores ARM: decompressor: prepare cache_clean_flush for doing by-VA maintenance ARM: decompressor: factor out routine to obtain the inflated image size ARM: 8959/1: Remove unused .fixup section in boot stub ARM: allow unwinder to unwind recursive functions
This commit is contained in:
@@ -25,26 +25,26 @@ ENTRY(relocate_new_kernel)
|
||||
ldr r3, [r0],#4
|
||||
|
||||
/* Is it a destination page. Put destination address to r4 */
|
||||
tst r3,#1,0
|
||||
tst r3,#1
|
||||
beq 1f
|
||||
bic r4,r3,#1
|
||||
b 0b
|
||||
1:
|
||||
/* Is it an indirection page */
|
||||
tst r3,#2,0
|
||||
tst r3,#2
|
||||
beq 1f
|
||||
bic r0,r3,#2
|
||||
b 0b
|
||||
1:
|
||||
|
||||
/* are we done ? */
|
||||
tst r3,#4,0
|
||||
tst r3,#4
|
||||
beq 1f
|
||||
b 2f
|
||||
|
||||
1:
|
||||
/* is it source ? */
|
||||
tst r3,#8,0
|
||||
tst r3,#8
|
||||
beq 0b
|
||||
bic r3,r3,#8
|
||||
mov r6,#1024
|
||||
|
@@ -444,7 +444,7 @@ int unwind_frame(struct stackframe *frame)
|
||||
ctrl.vrs[PC] = ctrl.vrs[LR];
|
||||
|
||||
/* check for infinite loop */
|
||||
if (frame->pc == ctrl.vrs[PC])
|
||||
if (frame->pc == ctrl.vrs[PC] && frame->sp == ctrl.vrs[SP])
|
||||
return -URC_FAILURE;
|
||||
|
||||
frame->fp = ctrl.vrs[FP];
|
||||
|
Reference in New Issue
Block a user