Search
lxdream.org :: lxdream/src/sh4/intc.c :: diff
lxdream 0.9.1
released Jun 29
Download Now
filename src/sh4/intc.c
changeset 1187:266e7a1bae90
prev975:007bf7eb944f
author nkeynes
date Fri Aug 24 08:53:50 2012 +1000 (11 years ago)
permissions -rw-r--r--
last change Move the generated prologue/epilogue code out into a common entry stub
(reduces space requirements) and pre-save all saved registers. Change
FASTCALL to use 3 regs instead of 2 since we can now keep everything in
regs.
file annotate diff log raw
1.1 --- a/src/sh4/intc.c Mon Jan 26 07:26:24 2009 +0000
1.2 +++ b/src/sh4/intc.c Fri Aug 24 08:53:50 2012 +1000
1.3 @@ -110,7 +110,7 @@
1.4 intc_state.num_pending = 0;
1.5 for( i=0; i<INT_NUM_SOURCES; i++ )
1.6 intc_state.priority[i] = intc_default_priority[i];
1.7 - sh4r.event_pending = event_get_next_time();
1.8 + sh4_set_event_pending( event_get_next_time() );
1.9 sh4r.event_types &= (~PENDING_IRQ);
1.10 }
1.11
1.12 @@ -154,7 +154,7 @@
1.13 intc_state.pending[i] = which;
1.14
1.15 if( i == intc_state.num_pending && (sh4r.sr&SR_BL)==0 && SH4_INTMASK() < pri ) {
1.16 - sh4r.event_pending = 0;
1.17 + sh4_set_event_pending(0);
1.18 sh4r.event_types |= PENDING_IRQ;
1.19 }
1.20
1.21 @@ -189,11 +189,11 @@
1.22 {
1.23 if( intc_state.num_pending > 0 && (sh4r.sr&SR_BL)==0 &&
1.24 SH4_INTMASK() < PRIORITY(intc_state.pending[intc_state.num_pending-1]) ) {
1.25 - sh4r.event_pending = 0;
1.26 + sh4_set_event_pending(0);
1.27 sh4r.event_types |= PENDING_IRQ ;
1.28 }
1.29 else {
1.30 - sh4r.event_pending = event_get_next_time();
1.31 + sh4_set_event_pending(event_get_next_time());
1.32 sh4r.event_types &= (~PENDING_IRQ);
1.33 }
1.34 }
.