spinnaker_tools 3.4.0
SpiNNaker API, sark, sc&mp, bmp firmware and build tools
Loading...
Searching...
No Matches
Functions | Variables
sark_isr.c File Reference

Interrupt handlers for SARK. More...

#include <sark.h>

Functions

void timer2_int (void)
 Interrupt handler for the timer which is handling timers.
 
void timer2_int_han (void)
 Interrupt handler for timer 2. Delegates to timer2_int()
 
void sark_fiq_han (void)
 Interrupt handler for messages from SCAMP. (FIQ)
 
void txpkt_int_han (void)
 SpiNNaker packet may be transmitted interrupt handler.
 
static void user_null (void)
 Dump handler for user-requested interrupts.
 
static void user_irq (void)
 Interrupt handler for user-requested interrupts.
 
static void user_fiq (void)
 FIQ handler for user-requested interrupts.
 
static void user_queue (void)
 Queue handler for user-requested interrupts.
 
static void sdp_null (void)
 Dump handler for SDP reception interrupts.
 
static void sdp_irq (void)
 Interrupt handler for SDP reception interrupts.
 
static void sdp_fiq (void)
 FIQ handler for SDP reception interrupts.
 
static void sdp_queue (void)
 Queue handler for SDP reception interrupts.
 
static void rxpkt_null (void)
 Dump handler for SpiNNaker packet reception interrupts.
 
static void rxpkt_irq (void)
 Interrupt handler for SpiNNaker packet reception interrupts.
 
static void rxpkt_fiq (void)
 FIQ handler for SpiNNaker packet reception interrupts.
 
static void rxpkt_queue (void)
 Queue handler for SpiNNaker packet reception interrupts.
 
static void timer_null (void)
 Dump handler for timer 1 interrupts.
 
static void timer_irq (void)
 Interrupt handler for timer 1 interrupts.
 
static void timer_fiq (void)
 FIQ handler for timer 1 interrupts.
 
static void timer_queue (void)
 Queue handler for timer 1 interrupts.
 
static void sig_null (void)
 Dump handler for signals.
 
static void sig_irq (void)
 Interrupt handler for signals.
 
static void sig_fiq (void)
 FIQ handler for signals.
 
static void sig_queue (void)
 Queue handler for signals.
 

Variables

const int_handler fiq_events []
 FIQ interrupt handlers, indexed by event_type_e.
 
const int_handler irq_events []
 Standard interrupt handlers, indexed by event_type_e.
 
const int_handler queue_events []
 Event queuers, indexed by event_type_e.
 
const int_handler null_events []
 Null interrupt handlers, indexed by event_type_e.
 

Detailed Description

Interrupt handlers for SARK.

Author
Steve Temple, APT Group, School of Computer Science

In general, for the classes of interrupt with in this code, the options for handling are:

  1. to dump the interrupt (clear the hardware but otherwise do nothing
  2. to process the interrupt as a fast interrupt, using the FIQ (a very limited number of event types can use this at a time)
  3. to process the interrupt immediately as a standard interrupt.
  4. to clear the hardware rapidly and enqueue a user-level callback for handling the results at a later point.

Function Documentation

◆ sark_fiq_han()

void sark_fiq_han ( void  )

Interrupt handler for messages from SCAMP. (FIQ)

Just throws the packet away.

◆ txpkt_int_han()

void txpkt_int_han ( void  )

SpiNNaker packet may be transmitted interrupt handler.

Sends the next packet on the event_data_t::pkt_queue. Disables itself if no packet is waiting.

Variable Documentation

◆ fiq_events

const int_handler fiq_events[]
Initial value:
= {
}
static void user_fiq(void)
FIQ handler for user-requested interrupts.
Definition sark_isr.c:116
static void sdp_fiq(void)
FIQ handler for SDP reception interrupts.
Definition sark_isr.c:171
static void rxpkt_fiq(void)
FIQ handler for SpiNNaker packet reception interrupts.
Definition sark_isr.c:228
static void timer_fiq(void)
FIQ handler for timer 1 interrupts.
Definition sark_isr.c:284
static void sig_fiq(void)
FIQ handler for signals.
Definition sark_isr.c:340

FIQ interrupt handlers, indexed by event_type_e.

◆ irq_events

const int_handler irq_events[]
Initial value:
= {
}
static void rxpkt_irq(void)
Interrupt handler for SpiNNaker packet reception interrupts.
Definition sark_isr.c:215
static void sig_irq(void)
Interrupt handler for signals.
Definition sark_isr.c:328
static void user_irq(void)
Interrupt handler for user-requested interrupts.
Definition sark_isr.c:103
static void sdp_irq(void)
Interrupt handler for SDP reception interrupts.
Definition sark_isr.c:156
static void timer_irq(void)
Interrupt handler for timer 1 interrupts.
Definition sark_isr.c:269

Standard interrupt handlers, indexed by event_type_e.

◆ queue_events

const int_handler queue_events[]
Initial value:
= {
}
static void sig_queue(void)
Queue handler for signals.
Definition sark_isr.c:350
static void rxpkt_queue(void)
Queue handler for SpiNNaker packet reception interrupts.
Definition sark_isr.c:239
static void timer_queue(void)
Queue handler for timer 1 interrupts.
Definition sark_isr.c:297
static void sdp_queue(void)
Queue handler for SDP reception interrupts.
Definition sark_isr.c:184
static void user_queue(void)
Queue handler for user-requested interrupts.
Definition sark_isr.c:127

Event queuers, indexed by event_type_e.

◆ null_events

const int_handler null_events[]
Initial value:
= {
}
static void sig_null(void)
Dump handler for signals.
Definition sark_isr.c:316
static void rxpkt_null(void)
Dump handler for SpiNNaker packet reception interrupts.
Definition sark_isr.c:203
static void user_null(void)
Dump handler for user-requested interrupts.
Definition sark_isr.c:91
static void sdp_null(void)
Dump handler for SDP reception interrupts.
Definition sark_isr.c:144
static void timer_null(void)
Dump handler for timer 1 interrupts.
Definition sark_isr.c:256

Null interrupt handlers, indexed by event_type_e.