summaryrefslogtreecommitdiff
path: root/nuttx/arch/arm/src/armv7-m/up_hardfault.c
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2013-01-22 01:25:40 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2013-01-22 01:25:40 +0000
commitfefa8ee3353d5ac7ef0e925ba8dcbbb89f2c96ae (patch)
treea1914fb5c45a61232078c98064198ac8818f07b4 /nuttx/arch/arm/src/armv7-m/up_hardfault.c
parentc86261aac88dcc280ca37e532ba96435c1c54699 (diff)
downloadpx4-nuttx-fefa8ee3353d5ac7ef0e925ba8dcbbb89f2c96ae.tar.gz
px4-nuttx-fefa8ee3353d5ac7ef0e925ba8dcbbb89f2c96ae.tar.bz2
px4-nuttx-fefa8ee3353d5ac7ef0e925ba8dcbbb89f2c96ae.zip
Add option to use BASEPRI instead of PRIMASK to disable interrupts in all ARMv7-M architectures
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5546 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/arch/arm/src/armv7-m/up_hardfault.c')
-rw-r--r--nuttx/arch/arm/src/armv7-m/up_hardfault.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/nuttx/arch/arm/src/armv7-m/up_hardfault.c b/nuttx/arch/arm/src/armv7-m/up_hardfault.c
index c30015ad2..b043db3df 100644
--- a/nuttx/arch/arm/src/armv7-m/up_hardfault.c
+++ b/nuttx/arch/arm/src/armv7-m/up_hardfault.c
@@ -93,17 +93,16 @@
int up_hardfault(int irq, FAR void *context)
{
uint32_t *regs = (uint32_t*)context;
- uint16_t *pc;
- uint16_t insn;
/* Get the value of the program counter where the fault occurred */
- pc = (uint16_t*)regs[REG_PC] - 1;
+#ifndef CONFIG_ARMV7M_USEBASEPRI
+ uint16_t *pc = (uint16_t*)regs[REG_PC] - 1;
if ((void*)pc >= (void*)&_stext && (void*)pc < (void*)&_etext)
{
/* Fetch the instruction that caused the Hard fault */
- insn = *pc;
+ uint16_t insn = *pc;
hfdbg(" PC: %p INSN: %04x\n", pc, insn);
/* If this was the instruction 'svc 0', then forward processing
@@ -116,6 +115,7 @@ int up_hardfault(int irq, FAR void *context)
return up_svcall(irq, context);
}
}
+#endif
/* Dump some hard fault info */