ubuntu 在 R40e 上 還有 Debian 在 Sempron 2600 上

2012年12月17日 星期一

request_irq, free_irq

一般(沒有特別依照 arch 作) 的 request_irq 是 implement 在
include/linux/interrupt.h
request_thread_irq 和 request_irq 互相為wrapper.-- 由 CONFIG_GENERIC_HARDIRQS 有否定義決定。
im5x 有 define,所以 request_irq( ) call request_thread_irq.

後者implement 在:
kernel/irq/manage.c
裡面也有 disable_irq( ) 和 disable_irq_nosync( ) 的實做。

基本上 disable_irq( ) 就是: disable_irq_nosync(); irq_sync( ); 其中 irq_sync( ) 就是 check 有沒有 pending 的 irq, 如果有,就去執行 handler。

沒有留言:

標籤

網誌存檔