diff options
| author | wdenk <wdenk> | 2002-12-07 00:20:59 +0000 | 
|---|---|---|
| committer | wdenk <wdenk> | 2002-12-07 00:20:59 +0000 | 
| commit | 7c7a23bd5a0bc149d2edd665ec46381726b24e0c (patch) | |
| tree | d859f82ea2561180db2ffd7569f0b9007d710769 /cpu/74xx_7xx/start.S | |
| parent | 1f53a41603b9093c59741f4208fef0ab3790d6ce (diff) | |
| download | olio-uboot-2014.01-7c7a23bd5a0bc149d2edd665ec46381726b24e0c.tar.xz olio-uboot-2014.01-7c7a23bd5a0bc149d2edd665ec46381726b24e0c.zip | |
* Patch by Hans-Joerg Frieden, 06 Dec 2002LABEL_2002_12_07_0120
  Fix misc problems with AmigaOne support
* 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
Diffstat (limited to 'cpu/74xx_7xx/start.S')
| -rw-r--r-- | cpu/74xx_7xx/start.S | 21 | 
1 files changed, 19 insertions, 2 deletions
| diff --git a/cpu/74xx_7xx/start.S b/cpu/74xx_7xx/start.S index fe08f8e83..0d6314435 100644 --- a/cpu/74xx_7xx/start.S +++ b/cpu/74xx_7xx/start.S @@ -177,7 +177,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 @@ -202,7 +209,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) @@ -210,8 +219,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(0xd00, SingleStep, UnknownException) @@ -716,6 +730,9 @@ in_ram:  	bne	5b  6:  	mr	r3, r10		/* Destination Address		*/ +#ifdef CONFIG_AMIGAONEG3SE +	mr	r4, r9		/* Use RAM copy of the global data */ +#endif  	bl	after_reloc  	/* not reached - end relocate_code */ |