The website "dmilvdv.narod.ru." is not registered with uCoz.
If you are absolutely sure your website must be here,
please contact our Support Team.
If you were searching for something on the Internet and ended up here, try again:

About uCoz web-service

Community

Legal information

Краткая справка

Краткая справка

Предыдущая  Содержание  Следующая V*D*V

В этой главе были введены эти символы, связанные с управлением прерываниями:

 

#include <linux/interrupt.h>

int request_irq(unsigned int irq, irqreturn_t (*handler)( ), unsigned long flags, const char *dev_name, void *dev_id);

void free_irq(unsigned int irq, void *dev_id);

Вызовы, которые регистрируют и отменяют регистрацию обработчика прерывания.

 

#include <linux/irq.h.h>

int can_request_irq(unsigned int irq, unsigned long flags);

Эта функция, доступная на i386 и x86_64, возвращает ненулевое значение, если попытка получить данную линию прерывания успешна.

 

#include <asm/signal.h>

SA_INTERRUPT

SA_SHIRQ

SA_SAMPLE_RANDOM

Флаги для request_irq. SA_INTERRUPT запрашивает установку быстрого обработчика (в отличие от медленного). SA_SHIRQ устанавливает обработчик разделяемого прерывания и третий флаг сообщает, что время прерывания может быть использовано для генерации энтропии в системе.

 

/proc/interrupts

/proc/stat

Узлы файловой системы, которые сообщают информацию об аппаратных прерываниях и установленных обработчиках.

 

unsigned long probe_irq_on(void);

int probe_irq_off(unsigned long);

Функции, которые используются драйвером, когда он должен выполнить зондирование для определения, какая линия прерывания будет использоваться устройством. Результат probe_irq_on должен быть передан обратно в probe_irq_off после того, как прерывание было сгенерировано. Возвращаемое значение probe_irq_off является обнаруженным номером прерывания.

IRQ_NONE

IRQ_HANDLED

IRQ_RETVAL(int x)

Возможные возвращаемые значения из обработчика прерывания, указывающие, присутствовало ли фактическое прерывание от устройства.

void disable_irq(int irq);

void disable_irq_nosync(int irq);

void enable_irq(int irq);

Драйвер может разрешить или запретить сообщения о прерывании. Если оборудование пробует генерировать прерывание при запрещённых прерываниях, прерывание потеряно навсегда. Драйвер, использующий обработчик разделяемого прерывания, не должен использовать эти функции.

void local_irq_save(unsigned long flags);

void local_irq_restore(unsigned long flags);

Используйте local_irq_save для запрета прерываний на местном процессоре и запоминания их предыдущего состояния. Для восстановления предыдущего состояния прерывания в local_irq_restore может быть передан flags.

void local_irq_disable(void);

void local_irq_enable(void);

Функции, которые безоговорочного запрещают и разрешают прерывания на текущем процессоре.

Предыдущая  Содержание  Следующая