[so2] [Tema 2] Problemă write

Andreea Mitran andreea.mitran10 at gmail.com
Sun Apr 5 21:42:07 EEST 2020


Am realizat care este problema și nu îmi dau seama de ce se întâmplă asta.

Prima dată când fac inb(IIR) în handler, valoarea citită este corectă. A
doua oară când realizez din nou inb(IIR), valoarea este greșită, 193. Se
poate să fie ceva de la checker?

Andreea

On Sun, Apr 5, 2020 at 8:47 PM Andreea Mitran <andreea.mitran10 at gmail.com>
wrote:

> Am încercat, problema este că atunci când se ajunge în handler pentru
> întreruperea TX, valoarea registrului IIR este 193, ceea ce nu pare deloc
> în regulă.
>
> On Sun, Apr 5, 2020 at 6:02 PM Paul Olaru <olarupaulstelian97 at gmail.com>
> wrote:
>
>> Ai încercat ordinea:
>>
>> * Înregistrezi handler, dacă n-ai făcut-o în module_init
>> * Activezi întrerupere, dacă n-ai făcut-o în module_init
>> * Atomic, verifici: dacă nu e busy primul octet îl scrii în hardware pe
>> TX direct. Folosești același spinlock ca în întrerupere și faci cu irq sau
>> irqsave ca să eviți deadlock
>> * Pe urmă lași întreruperile să muncească.
>>
>> On Sun, Apr 5, 2020, 17:54 Andreea Mitran via so2 <so2 at cursuri.cs.pub.ro>
>> wrote:
>>
>>> Din ce am citit pe listele de discuții din anii anteriori, întreruperea
>>> TX trebuie activată din nou, atunci când se efectuează write din user
>>> space.
>>>
>>> Deși fac acest lucru și handler-ul întreruperii este chemat, bitul
>>> corespunzător din IIR care să îmi spună că hardware-ul are de citit date
>>> scrise din user space este 0. Am afișat valoarea registrului IIR în
>>> întrerupere și aceasta este destul de bizară față de valoarea pe care o are
>>> la testele corespunzătoare pentru read.
>>>
>>> La testul 3, am passed pentru operația de read, însă la testul 4,
>>> programul se blochează, întrucât eu în handler-ul de întrerupere verific
>>> valoarea bitului corespunzător întreruperii pentru a stabili că trebuie să
>>> trimit date la hardware, care este 0.
>>>
>>> Știți cumva care ar putea fi problema?
>>>
>>> Mulțumesc,
>>> Andreea
>>> _______________________________________________
>>> http://ocw.cs.pub.ro/courses/so2/resurse/lista-discutii
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/so2/attachments/20200405/9e9e70a3/attachment-0001.html>


More information about the so2 mailing list