From 7c7a23bd5a0bc149d2edd665ec46381726b24e0c Mon Sep 17 00:00:00 2001 From: wdenk Date: Sat, 7 Dec 2002 00:20:59 +0000 Subject: * Patch by Hans-Joerg Frieden, 06 Dec 2002 Fix misc problems with AmigaOne support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Patch by Chris Hallinan, 3 Dec 2002: minor cleanup to the MPC8245 EPIC driver * Patch by Pierre Aubert , 28 Nov 2002 Add support for external (SIU) interrupts on MPC8xx * Patch by Pierre Aubert , 28 Nov 2002 Fix nested syscalls bug in standalone applications * Patch by David Müller, 27 Nov 2002: fix output of "pciinfo" command for CardBus bridge devices. * Fix bug in TQM8260 board detection - boards got stuck when board ID was not readable --- cpu/mpc824x/start.S | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'cpu/mpc824x/start.S') diff --git a/cpu/mpc824x/start.S b/cpu/mpc824x/start.S index bd9706de7c..18b8e61260 100644 --- a/cpu/mpc824x/start.S +++ b/cpu/mpc824x/start.S @@ -278,7 +278,14 @@ SystemCall: add r11,r11,r0 lwz r11,0(r11) - li r12,0xd00-4*3 /* save LR & SRRx */ + li r20,0xd00-4 /* Get stack pointer */ + lwz r12,0(r20) + subi r12,r12,12 /* Adjust stack pointer */ + li r0,0xc00+_end_back-SystemCall + cmplw 0, r0, r12 /* Check stack overflow */ + bgt 1f + stw r12,0(r20) + mflr r0 stw r0,0(r12) mfspr r0,SRR0 @@ -303,7 +310,9 @@ _back: mtmsr r11 SYNC - li r12,0xd00-4*3 /* restore regs */ + li r12,0xd00-4 /* restore regs */ + lwz r12,0(r12) + lwz r11,0(r12) mtlr r11 lwz r11,4(r12) @@ -311,8 +320,13 @@ _back: lwz r11,8(r12) mtspr SRR1,r11 + addi r12,r12,12 /* Adjust stack pointer */ + li r20,0xd00-4 + stw r12,0(r20) + SYNC rfi +_end_back: STD_EXCEPTION(EXC_OFF_TRACE, SingleStep, UnknownException) -- cgit v1.2.1