This shows you the differences between two versions of the page.
|
so2:laboratoare:lab05:exercitii [2018/03/21 11:40] ionel.ghita |
so2:laboratoare:lab05:exercitii [2019/03/20 11:49] (current) gabriel.bercaru [1. [2.5p] Alocare de porturi I/O] - fixed typo ('kdb' instead of 'kbd') |
||
|---|---|---|---|
| Line 141: | Line 141: | ||
| Descărcați modulul din kernel folosind comanda<code> | Descărcați modulul din kernel folosind comanda<code> | ||
| - | rmmod kdb | + | rmmod kbd |
| </code> și verificați acum conținutul fișierului ''/proc/ioports''; observți că a dispărut alocarea spațiului I/O pentru cele două porturi. | </code> și verificați acum conținutul fișierului ''/proc/ioports''; observți că a dispărut alocarea spațiului I/O pentru cele două porturi. | ||
| Line 207: | Line 207: | ||
| <note tip> | <note tip> | ||
| Pentru afișare în cadrul handler-ului de întrerupere folosiți o construcție de forma:<code> | Pentru afișare în cadrul handler-ului de întrerupere folosiți o construcție de forma:<code> | ||
| - | pr_info("IRQ:% d, scancode = 0x% x (% u,% c) \ n" | + | pr_info("IRQ %d: scancode=0x%x (%u) pressed=%d ch=%c\n", |
| - | irq_no, scancode, scancode, scancode); | + | irq_no, scancode, scancode, pressed, ch); |
| </code> | </code> | ||
| unde ''scancode'' este valoarea registrului citit cu ajutorul funcției ''i8042_read_data()''. | unde ''scancode'' este valoarea registrului citit cu ajutorul funcției ''i8042_read_data()''. | ||
| Line 256: | Line 256: | ||
| <note tip> | <note tip> | ||
| Pentru afișare în cadrul handler-ului de întrerupere folosiți o construcție de forma:<code> | Pentru afișare în cadrul handler-ului de întrerupere folosiți o construcție de forma:<code> | ||
| - | printk(LOG_LEVEL "IRQ %d: scancode=0x%x (%u) pressed=%d ch=%c\n", | + | pr_info(LOG_LEVEL "IRQ %d: scancode=0x%x (%u) pressed=%d ch=%c\n", |
| irq_no, scancode, scancode, pressed, ch); | irq_no, scancode, scancode, pressed, ch); | ||
| </code> | </code> | ||