summaryrefslogtreecommitdiff
path: root/nuttx/arch/x86/src/i486/up_schedulesigaction.c
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2011-03-05 19:28:59 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2011-03-05 19:28:59 +0000
commit6218c1707eba6130302dfb8cfe253df1fafdde68 (patch)
tree85eae9be3711104ae9aa5bfc27df4e09c9ce0844 /nuttx/arch/x86/src/i486/up_schedulesigaction.c
parent8a818deb60c19ee90d47b99cf12ed079f36d51b3 (diff)
downloadpx4-nuttx-6218c1707eba6130302dfb8cfe253df1fafdde68.tar.gz
px4-nuttx-6218c1707eba6130302dfb8cfe253df1fafdde68.tar.bz2
px4-nuttx-6218c1707eba6130302dfb8cfe253df1fafdde68.zip
Completes port of interrpt handling logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3340 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/arch/x86/src/i486/up_schedulesigaction.c')
-rw-r--r--nuttx/arch/x86/src/i486/up_schedulesigaction.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/nuttx/arch/x86/src/i486/up_schedulesigaction.c b/nuttx/arch/x86/src/i486/up_schedulesigaction.c
index 6bcc3c656..7d91bb3e3 100644
--- a/nuttx/arch/x86/src/i486/up_schedulesigaction.c
+++ b/nuttx/arch/x86/src/i486/up_schedulesigaction.c
@@ -148,15 +148,15 @@ void up_schedule_sigaction(_TCB *tcb, sig_deliver_t sigdeliver)
*/
tcb->xcp.sigdeliver = sigdeliver;
- tcb->xcp.saved_pc = current_regs[REG_PC];
- tcb->xcp.saved_flags = current_regs[REG_FLAGS];
+ tcb->xcp.saved_eip = current_regs[REG_EIP];
+ tcb->xcp.saved_eflags = current_regs[REG_EFLAGS];
/* Then set up to vector to the trampoline with interrupts
* disabled
*/
- current_regs[REG_PC] = (uint32_t)up_sigdeliver;
- current_regs[REG_FLAGS] = 0;
+ current_regs[REG_EIP] = (uint32_t)up_sigdeliver;
+ current_regs[REG_EFLAGS] = 0;
/* And make sure that the saved context in the TCB
* is the same as the interrupt return context.
@@ -180,15 +180,15 @@ void up_schedule_sigaction(_TCB *tcb, sig_deliver_t sigdeliver)
*/
tcb->xcp.sigdeliver = sigdeliver;
- tcb->xcp.saved_pc = tcb->xcp.regs[REG_PC];
- tcb->xcp.saved_flags = tcb->xcp.regs[REG_FLAGS];
+ tcb->xcp.saved_eip = tcb->xcp.regs[REG_EIP];
+ tcb->xcp.saved_eflags = tcb->xcp.regs[REG_EFLAGS];
/* Then set up to vector to the trampoline with interrupts
* disabled
*/
- tcb->xcp.regs[REG_PC] = (uint32_t)up_sigdeliver;
- tcb->xcp.regs[REG_FLAGS] = 0;
+ tcb->xcp.regs[REG_EIP] = (uint32_t)up_sigdeliver;
+ tcb->xcp.regs[REG_EFLAGS] = 0;
}
irqrestore(flags);