From 1fe3e3cf2581411fba7379fc1275ebb29b37e094 Mon Sep 17 00:00:00 2001 From: Till Straumann Date: Thu, 29 Oct 2009 15:53:31 +0000 Subject: [PATCH] 2009-10-29 Till Straumann * shared/irq/irq_asm.S, shared/irq/irq.c: removed (fake) exception frame argument to _ThreadProcessSignalsFromIrq(). This has never been used and removing it simplifies the assembly code. --- c/src/lib/libbsp/i386/ChangeLog | 7 +++++++ c/src/lib/libbsp/i386/shared/irq/irq.c | 2 +- c/src/lib/libbsp/i386/shared/irq/irq_asm.S | 15 ++------------- 3 files changed, 10 insertions(+), 14 deletions(-) diff --git a/c/src/lib/libbsp/i386/ChangeLog b/c/src/lib/libbsp/i386/ChangeLog index b84e14625f..08aab884cd 100644 --- a/c/src/lib/libbsp/i386/ChangeLog +++ b/c/src/lib/libbsp/i386/ChangeLog @@ -1,3 +1,10 @@ +2009-10-29 Till Straumann + + * shared/irq/irq_asm.S, shared/irq/irq.c: removed + (fake) exception frame argument to _ThreadProcessSignalsFromIrq(). + This has never been used and removing it simplifies the assembly + code. + 2009-10-28 Till Straumann * shared/irq/irq_asm.S: Make sure stack is aligned to diff --git a/c/src/lib/libbsp/i386/shared/irq/irq.c b/c/src/lib/libbsp/i386/shared/irq/irq.c index 5e546a3309..450ff35848 100644 --- a/c/src/lib/libbsp/i386/shared/irq/irq.c +++ b/c/src/lib/libbsp/i386/shared/irq/irq.c @@ -231,7 +231,7 @@ void C_dispatch_isr(int vector) bsp_interrupt_handler_dispatch(vector); } -void _ThreadProcessSignalsFromIrq (CPU_Exception_frame* ctx) +void _ThreadProcessSignalsFromIrq (void) { /* * Process pending signals that have not already been diff --git a/c/src/lib/libbsp/i386/shared/irq/irq_asm.S b/c/src/lib/libbsp/i386/shared/irq/irq_asm.S index d39ff81e72..325251aa15 100644 --- a/c/src/lib/libbsp/i386/shared/irq/irq_asm.S +++ b/c/src/lib/libbsp/i386/shared/irq/irq_asm.S @@ -170,20 +170,9 @@ nested: * exceptions. This makes sense because Signal is a software * exception. */ - popl edx - popl ecx - popl eax - - pushl $0 # fake fault code - pushl $0 # fake exception number - - pusha - pushl esp call _ThreadProcessSignalsFromIrq - addl $4, esp - popa - addl $8, esp - iret + + jmp .exit .schedule: /*