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

- Main Page
- Modules
- Data Structures
- Files

Typedefs | Functions
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] | vector | Vector number.
  [in] | isr | ISR 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] | irq | Which 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] | key | architecture-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] | irq | Which IRQ to unmask.

Definition at line 125 of file qm_interrupt.c.

References qm_ss_irq_unmask().