3071579132

3071579132



Handler obsługi przerwania

void handler(int irq, void * dev_id, struct pt_regs *)

Znaczenie parametrów:

-    irq numer przerwania (ten sam handler może obsługiwać kilka przerwań)

-    dev_id jest równy parametrowi dev_id przekazanemu funkcji request_irq.

•    Może zostać wykorzystany do przekazania handlerowi dodatkowych danych.

-    pt regs przechowuje adres struktury w której zawarte są wartości rejestrów procesora dla przerwanego procesu.

•    Handler obsługi przerwania może sprawdzić, czy przerwany proces wykonywał się w trybie jądra, czy też w trybie użytkownika.

Zwolnienie przerwania przy pomocy funkcji free_irq.

Możliwość współdzielenia przerwań na magistrali PCI (flaga SA_SHIRQ)

(p

Wojciech Kwedlo, Systemy Operacyjne II    -8-    Wydział Informatyki 1 PB



Wyszukiwarka

Podobne podstrony:
Przykład - Przerwanie zegara void do_timer(struct pt_regs *regs) { ++jiffies; ++lost_ticks; if
Image158 (3) Listing I //obsługa przerwania zewnętrznego (cd odbiornika radiowego) void przerwaniem)
Przerwanie 3 Cykl obsługi przerwania: 1.    Zgłoszenie przerwania sygnałem INT 2.
assembler?86? 1 162 5. Rozkazy mikroprocesorów 8086/8088 INT - skok do podprogramu obsługi przerwa
Obsługa przerwania szybkiego - pseudokod irq(irq_num,irq_controller) { SAVE_MOST // zapisz na stosie
Obsługa przerwania wolnego - pseudokod irq(irq_num,irq_controller) { SAVE_ALL // zapisz na stosie
img024 Zauważ stan bitu IF składany na stosie w trakcie wejścia w obsługę przerwania i stan IF w pP.
Slajd11 (176) MC68ooo OBSŁUGA PRZERWANIA AUTOWEKTOROWANEGO r»T T T T^PT^TA i t ’ yT < t r T ’ rr
cz3 Programowanie Rys. 22 Badanie liczby cykli obsługi przerwania że dokładnie co taki czas zmienna

więcej podobnych podstron