Intel® Quark™ Microcontroller Software Interface  1.4.0
Intel® Quark™ Microcontroller BSP
Interrupt

Interrupt driver. More...

Typedefs

typedef void(* qm_isr_t )(struct interrupt_frame *frame)
 Interrupt service routine type.
 

Functions

void qm_irq_enable (void)
 Unconditionally enable interrupt delivery on the CPU.
 
void qm_irq_disable (void)
 Unconditionally disable interrupt delivery on the CPU.
 
unsigned int qm_irq_lock (void)
 Save interrupt state and disable all interrupts on the CPU. More...
 
void qm_irq_unlock (unsigned int key)
 Restore previous interrupt state on the CPU saved via qm_irq_lock(). More...
 
void qm_irq_unmask (uint32_t irq)
 Unmask a given interrupt line. More...
 
void qm_irq_mask (uint32_t irq)
 Mask a given interrupt line. More...
 
void qm_int_vector_request (uint32_t vector, qm_isr_t isr)
 Request an interrupt vector and register Interrupt Service Routine to it. More...
 

Detailed Description

Interrupt driver.

Function Documentation

static __inline__ void qm_int_vector_request ( uint32_t  vector,
qm_isr_t  isr 
)

Request an interrupt vector and register Interrupt Service Routine to it.

Parameters
[in]vectorVector number.
[in]isrISR to register to given IRQ.

Definition at line 163 of file qm_interrupt.h.

unsigned int qm_irq_lock ( void  )

Save interrupt state and disable all interrupts on the CPU.

This routine disables interrupts. It can be called from either interrupt or non-interrupt context. This routine returns an architecture-dependent lock-out key representing the "interrupt disable state" prior to the call; this key can be passed to qm_irq_unlock() to re-enable interrupts.

This function can be called recursively: it will return a key to return the state of interrupt locking to the previous level.

Returns
An architecture-dependent lock-out key representing the "interrupt disable state" prior to the call.

Definition at line 74 of file qm_interrupt.c.

void qm_irq_mask ( uint32_t  irq)

Mask a given interrupt line.

Parameters
[in]irqWhich IRQ to mask.

Definition at line 111 of file qm_interrupt.c.

References qm_ss_irq_mask().

void qm_irq_unlock ( unsigned int  key)

Restore previous interrupt state on the CPU saved via qm_irq_lock().

Parameters
[in]keyarchitecture-dependent lock-out key returned by a previous invocation of qm_irq_lock().

Definition at line 92 of file qm_interrupt.c.

void qm_irq_unmask ( uint32_t  irq)

Unmask a given interrupt line.

Parameters
[in]irqWhich IRQ to unmask.

Definition at line 125 of file qm_interrupt.c.

References qm_ss_irq_unmask().