diff --git a/arch/z80/include/ez80/irq.h b/arch/z80/include/ez80/irq.h index b63ac7aef0..045429d780 100644 --- a/arch/z80/include/ez80/irq.h +++ b/arch/z80/include/ez80/irq.h @@ -219,8 +219,8 @@ struct xcptcontext /* The following retains that state during signal execution */ - chipreg_t saved_pc; /* Saved return address */ - chipreg_t saved_irqctl; /* Saved interrupt state */ + chipreg_t saved_pc; /* Saved return address */ + chipreg_t saved_i; /* Saved interrupt state */ #endif }; #endif diff --git a/arch/z80/src/ez80/ez80_sigdeliver.c b/arch/z80/src/ez80/ez80_sigdeliver.c index 8a8d1ab2a5..5e9706d15b 100644 --- a/arch/z80/src/ez80/ez80_sigdeliver.c +++ b/arch/z80/src/ez80/ez80_sigdeliver.c @@ -45,6 +45,7 @@ #include #include +#include #include "chip/switch.h" #include "os_internal.h" @@ -83,7 +84,7 @@ void up_sigdeliver(void) { #ifndef CONFIG_DISABLE_SIGNALS FAR _TCB *rtcb = (_TCB*)g_readytorun.head; - chipret_t regs[XCPTCONTEXT_REGS]; + chipreg_t regs[XCPTCONTEXT_REGS]; sig_deliver_t sigdeliver; /* Save the errno. This must be preserved throughout the signal handling @@ -101,7 +102,7 @@ void up_sigdeliver(void) /* Save the real return state on the stack. */ - z80_copystate(regs, rtcb->xcp.regs); + ez80_copystate(regs, rtcb->xcp.regs); regs[XCPT_PC] = rtcb->xcp.saved_pc; regs[XCPT_I] = rtcb->xcp.saved_i; @@ -134,7 +135,7 @@ void up_sigdeliver(void) */ up_ledoff(LED_SIGNAL); - z80_restoreusercontext(regs); + ez80_restorecontext(regs); #endif }