mirror of
https://github.com/drasko/codezero.git
synced 2026-01-14 03:43:15 +01:00
KMI patch for devel branch on bahadir's repo.
Important points: ---------------- 1. Works fine for pb926 + qemu. 2. Scan code logic for kryboard is not complete. We just have generic keys and shift working. 3. Mouse scancodes are collected but not decoded. 4. Right now we are doing enable_irq(), just before we go for waiting again for new irqs. This is not correct but we had latency issues. This needs to be fixed immediately. 5. Also it seems like the notify_clot count should be an atomic variable. Needs to be discussed.
This commit is contained in:
@@ -111,6 +111,16 @@ int irq_wait(l4id_t irq_index)
|
||||
if ((ret = tcb_check_and_lazy_map_utcb(current, 1)) < 0)
|
||||
return ret;
|
||||
|
||||
/*
|
||||
* In case user has asked for unmasking the irq only after
|
||||
* user hanlder is done, unmask the irq
|
||||
*
|
||||
* FIXME: This is not the correct place for this call,
|
||||
* fix this.
|
||||
*/
|
||||
if (desc->user_ack)
|
||||
irq_enable(irq_index);
|
||||
|
||||
/* Wait until the irq changes slot value */
|
||||
WAIT_EVENT(&desc->wqh_irq,
|
||||
utcb->notify[desc->task_notify_slot] != 0,
|
||||
|
||||
Reference in New Issue
Block a user