From cc97bab6c3588ad2361691821c0f4ad06a9be076 Mon Sep 17 00:00:00 2001 From: patacongo Date: Tue, 18 Oct 2011 01:51:47 +0000 Subject: [PATCH] Fix PIC32 jalr instructions: arguments consistentley reversed git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4052 42af7a65-404d-4744-a932-0658087f49c3 --- arch/mips/src/mips32/up_copystate.c | 2 +- arch/mips/src/pic32mx/pic32mx-head.S | 10 +++++----- configs/pcblogic-pic32mx/ostest/ld.script | 2 +- configs/pic32-starterkit/ostest/ld.script | 2 +- configs/sure-pic32mx/ostest/ld.script | 2 +- include/cxx/ctime | 1 - 6 files changed, 9 insertions(+), 10 deletions(-) diff --git a/arch/mips/src/mips32/up_copystate.c b/arch/mips/src/mips32/up_copystate.c index 0f5909aa2e..1bafffd0e3 100644 --- a/arch/mips/src/mips32/up_copystate.c +++ b/arch/mips/src/mips32/up_copystate.c @@ -70,7 +70,7 @@ void up_copystate(uint32_t *dest, uint32_t *src) { int i; - /* In the Cortex-M3 model, the state is copied from the stack to the TCB, + /* In the MIPS model, the state is copied from the stack to the TCB, * but only a reference is passed to get the state from the TCB. So the * following check avoids copying the TCB save area onto itself: */ diff --git a/arch/mips/src/pic32mx/pic32mx-head.S b/arch/mips/src/pic32mx/pic32mx-head.S index 065598ec6f..3a9c6c0e08 100644 --- a/arch/mips/src/pic32mx/pic32mx-head.S +++ b/arch/mips/src/pic32mx/pic32mx-head.S @@ -434,7 +434,7 @@ _bev_handler: move a0, sp /* Pass register save structure as the parameter 1 */ USE_INTSTACK t0, t1, t2 /* Switch to the interrupt stack */ la t0, pic32mx_dobev /* Call up_dobev(regs) */ - jalr t0, ra + jalr ra, t0 di /* Disable interrupts */ RESTORE_STACK t0, t1 /* Undo the operations of USE_STACK */ EXCPT_EPILOGUE v0 /* Return to the context returned by up_dobev() */ @@ -456,7 +456,7 @@ _int_handler: move a0, sp /* Pass register save structure as the parameter 1 */ USE_INTSTACK t0, t1, t2 /* Switch to the interrupt stack */ la t0, pic32mx_decodeirq /* Call pic32mx_decodeirq(regs) */ - jalr t0, ra + jalr ra, t0 di /* Disable interrupts */ RESTORE_STACK t0, t1 /* Undo the operations of USE_STACK */ EXCPT_EPILOGUE v0 /* Return to the context returned by pic32mx_decodeirq() */ @@ -479,7 +479,7 @@ _nmi_handler: move a0, sp /* Pass register save structure as the parameter 1 */ USE_INTSTACK t0, t1, t2 /* Switch to the interrupt stack */ la t0, pic32mx_donmi /* Call up_donmi(regs) */ - jalr t0, ra + jalr ra, t0 di /* Disable interrupts */ RESTORE_STACK t0, t1 /* Undo the operations of USE_STACK */ EXCPT_EPILOGUE v0 /* Return to the context returned by pic32mx_donmi() */ @@ -505,13 +505,13 @@ __start_nuttx: /* Perform low level initialization */ la t0, pic32mx_lowinit - jalr t0, ra + jalr ra, t0 nop /* Call os_start */ la t0, os_start - jalr t0, ra + jalr ra, t0 nop /* Just in case main returns, go into an infinite loop */ diff --git a/configs/pcblogic-pic32mx/ostest/ld.script b/configs/pcblogic-pic32mx/ostest/ld.script index 25df40f0a1..79bd3783be 100644 --- a/configs/pcblogic-pic32mx/ostest/ld.script +++ b/configs/pcblogic-pic32mx/ostest/ld.script @@ -191,7 +191,7 @@ SECTIONS */ /* This causes failures if there are no RAM functions - .ramfunc /* ALIGN(2K) */ : + .ramfunc : { _sramfunc = ABSOLUTE(.); *(.ramfunc .ramfunc.*) diff --git a/configs/pic32-starterkit/ostest/ld.script b/configs/pic32-starterkit/ostest/ld.script index 9bdd451753..4f6b00cd4b 100644 --- a/configs/pic32-starterkit/ostest/ld.script +++ b/configs/pic32-starterkit/ostest/ld.script @@ -191,7 +191,7 @@ SECTIONS */ /* This causes failures if there are no RAM functions - .ramfunc /* ALIGN(2K) */ : + .ramfunc : { _sramfunc = ABSOLUTE(.); *(.ramfunc .ramfunc.*) diff --git a/configs/sure-pic32mx/ostest/ld.script b/configs/sure-pic32mx/ostest/ld.script index 2da162586f..e15af9f6c0 100644 --- a/configs/sure-pic32mx/ostest/ld.script +++ b/configs/sure-pic32mx/ostest/ld.script @@ -191,7 +191,7 @@ SECTIONS */ /* This causes failures if there are no RAM functions - .ramfunc /* ALIGN(2K) */ : + .ramfunc : { _sramfunc = ABSOLUTE(.); *(.ramfunc .ramfunc.*) diff --git a/include/cxx/ctime b/include/cxx/ctime index f9ebaa937e..f1915a4529 100755 --- a/include/cxx/ctime +++ b/include/cxx/ctime @@ -59,7 +59,6 @@ namespace std using ::sigevent; using ::clock_settime; using ::clock_gettime; - using ::lock_getres; using ::mktime; using ::gmtime_r; using ::timer_create;