[so2] [Tema2] Activare intreruperi

Razvan Deaconescu razvan.deaconescu at cs.pub.ro
Thu Apr 2 23:27:42 EEST 2015


Popa Nicolae via so2 <so2 at cursuri.cs.pub.ro> writes:
> Salut!
>
> Am o nelamurire in legatura cu functionarea intreruperilor. Atunci
> cand in buffer-ul meu din kernel space adaug date, care ulterior le
> voi adauga in buffer-ul hardware, eu trebuie manual sa activez de
> fiecare data intreruperile pentru citire si scriere din registrul IER,
> astfel incat intreruperea sa fie declansata?

Dacă adaugi date atunci trebuie să activezi doar întreruperea de
scriere la sfârșitul funcției de write. Întreruperea de citire ar trebui
să o activezi în handler-ul de tratare a întreruperii după ce primești
date pe fir.

> De asemenea in handler-ul intreruperii se face diferentierea in
> functie de datele din registrul LSR, astfel incat sa vad daca am un
> read sau write de tratat? Sau se pot face cate doua handlere separate?

Da, poți face diferențierea. Nici nu cred că poți face două handlere
separate, că pe aceeași linie poți primi ambele tipuri de întrerupere.

Răzvan


More information about the so2 mailing list