* dv-mn103cpu.c (deliver_mn103cpu_interrupt): Stop loss of succeeding
interrupts, clear pending_handler when the handler isn't re-scheduled.
This commit is contained in:
parent
abf6ba256a
commit
1b756ba6d5
@ -1,3 +1,9 @@
|
|||||||
|
Fri Mar 27 00:56:40 1998 Andrew Cagney <cagney@b1.cygnus.com>
|
||||||
|
|
||||||
|
* dv-mn103cpu.c (deliver_mn103cpu_interrupt): Stop loss of
|
||||||
|
succeeding interrupts, clear pending_handler when the handler
|
||||||
|
isn't re-scheduled.
|
||||||
|
|
||||||
Thu Mar 26 10:11:01 1998 Stu Grossman <grossman@bhuna.cygnus.co.uk>
|
Thu Mar 26 10:11:01 1998 Stu Grossman <grossman@bhuna.cygnus.co.uk>
|
||||||
|
|
||||||
* Makefile.in (tmp-igen): Prefix all usage of move-if-change
|
* Makefile.in (tmp-igen): Prefix all usage of move-if-change
|
||||||
|
@ -255,14 +255,20 @@ deliver_mn103cpu_interrupt (struct hw *me,
|
|||||||
(long) CIA_GET (cpu), (unsigned) PSW, (long) SP));
|
(long) CIA_GET (cpu), (unsigned) PSW, (long) SP));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* As long as there is the potential need to deliver an interrupt we
|
|
||||||
keep rescheduling this routine. */
|
|
||||||
if (controller->pending_level < 7) /* FIXME */
|
if (controller->pending_level < 7) /* FIXME */
|
||||||
{
|
{
|
||||||
|
/* As long as there is the potential need to deliver an
|
||||||
|
interrupt we keep rescheduling this routine. */
|
||||||
if (controller->pending_handler != NULL)
|
if (controller->pending_handler != NULL)
|
||||||
controller->pending_handler =
|
controller->pending_handler =
|
||||||
hw_event_queue_schedule (me, 1, deliver_mn103cpu_interrupt, NULL);
|
hw_event_queue_schedule (me, 1, deliver_mn103cpu_interrupt, NULL);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* Don't bother re-scheduling the interrupt handler as there is
|
||||||
|
nothing to deliver */
|
||||||
|
controller->pending_handler = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user