MCPcopy Create free account
hub / github.com/bfbbdecomp/bfbb / TCIntrruptHandler

Function TCIntrruptHandler

src/dolphin/src/exi/EXIBios.c:534–559  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

532}
533
534static void TCIntrruptHandler(__OSInterrupt interrupt, OSContext* context)
535{
536 OSContext exceptionContext;
537 s32 chan;
538 EXIControl* exi;
539 EXICallback callback;
540
541 chan = (interrupt - __OS_INTERRUPT_EXI_0_TC) / 3;
542 exi = &Ecb[chan];
543 __OSMaskInterrupts(OS_INTERRUPTMASK(interrupt));
544 EXIClearInterrupts(chan, FALSE, TRUE, FALSE);
545 callback = exi->tcCallback;
546 if (callback)
547 {
548 exi->tcCallback = 0;
549 CompleteTransfer(chan);
550
551 OSClearContext(&exceptionContext);
552 OSSetCurrentContext(&exceptionContext);
553
554 callback(chan, context);
555
556 OSClearContext(&exceptionContext);
557 OSSetCurrentContext(context);
558 }
559}
560
561static void EXTIntrruptHandler(__OSInterrupt interrupt, OSContext* context)
562{

Callers

nothing calls this directly

Calls 4

__OSMaskInterruptsFunction · 0.85
EXIClearInterruptsFunction · 0.85
CompleteTransferFunction · 0.70
callbackClass · 0.50

Tested by

no test coverage detected