2010-06-09 85 views

回答

1

你的問題有點含糊。
對於中斷,您可以查看cat /proc/interrupts的輸出並查看驅動程序的中斷計數是否增加。

sysfs在這裏顯示你的設備或驅動程序的屬性。如果您想跟蹤驅動程序代碼的執行情況,請查看源代碼。可能會有調試printk,只有在使用某些命令行參數加載驅動程序時才能啓用。例如:

rmmod mymodule 
modprobe mymodule debug=1 

調試消息通常出現在控制檯上,你也可以用dmesg COMAND

0

看到他們,如果你的意思是如何導出的信息硬件模塊(例如MSR)是否執行了事件或中斷與否,這裏是答案:

您可以使用sysfs的API,如創建一個設備屬性:

static numbers; 
/* suppose numbers may be increased in your event function */ 
static DEVICE_ATTR(event_numbers, 0400, event_numbers_show, NULL); 

和定義event_numbers_show屬性:

static ssize_t event_numbers_show(struct device *dev, 
     struct device_attribute *attr, char *buf) 
    ..... 
    sprintf(buf, "%d\n", numbers); 
    ..... 
} 

然後執行的sysfs條目的驅動程序初始化期間創建FUNC:

sysfs_create_file(&dev->kobj, &dev_attr_event_numbers_show->attr); 

如果上述所有成功,比你會發現event_numbers在文件中提供/ sys/bus/platform/devices/{YOUR_DEVICE_NAME}目錄,只需cat event_numbers,它將顯示相應的「數字」變量值。