发新话题
打印

一个程序,请大家看看

一个程序,请大家看看

kernel panic,原因不明


我仿照一个日志.写了一个2.4内核的键盘中断,编译通过,但是一加载就会死机,请高手帮忙看一下.急!~~!谢谢了
#include<linux/config.h>
#include<linux/module.h>
#include<linux/kernel.h>
#include<linux/init.h>
#include<linux/modversions.h>
#include<linux/version.h>
#include<linux/fs.h>
#include<linux/sched.h>
#include<linux/errno.h>
#include <linux/irq.h>
#include<linux/interrupt.h>
#include<asm/io.h>
#include<linux/tqueue.h>
#include<linux/list.h>
MODULE_LICENSE("GPL");
static void got_char(void *scancode)
{
        printk("sth happened ,oh yes!\n");
        printk("scan code %x %s.",(int)*((char*)scancode)&0x7f);
        }
void  key_sever(int irq, void *dev_id, struct pt_regs *regs)
{
printk("mouse key down\n");
static unsigned char scancode;
static struct tq_struct task;
LIST_HEAD(key_sever);
INIT_LIST_HEAD(&key_sever);
task.sync=0;
task.routine=got_char;
task.data=&scancode;
unsigned char status;
scancode=inb(0x60);
printk("inb started\n");
queue_task(&task,&tq_immediate);
mark_bh(IMMEDIATE_BH);
printk("mission started\n");
printk("register device ok\n");
}
int __init mou_init(void)
{
  free_irq(1,NULL);
  int keytesta=1;
  int result;
        result=request_irq(1,key_sever,SA_SHIRQ,"keytest",&keytesta);
if (result==0)
                                {
                                printk("request ok\n");
                                }
else
                                {
                                printk("failed\n");
                                }
                                return 0;
}
void __exit mou_exit(void)
{
        free_irq(1,NULL);
        printk("<1>goodbye\n");
        }
module_init(mou_init);
module_exit(mou_exit);      

TOP

没大哥们回答吗?      

TOP

首先声名一下本人的C水平一般般,我只想问LZ两个问题:
1.你的main()在那里?
2.我从没见说过printk()库函数,只听说过printf()库函数。      

TOP

这个是用驱动的方式进行加载,printk是核态打印输出语句,用dmesg可以看的到,等啊,希望高手指点,很郁闷      

TOP

你确定free_irq和request_irq是这么用的吗?      
上帝说,有问题,找GOOGLE 写程序是很神圣的事情!同样只是装系统,卖菜的大娘会的事情不见得就跟卖菜一样了。

TOP

我不是非常确信,不过我看到有人这样成功了,但是我还找不出问题      

TOP

转到内核版看看      
上帝说,有问题,找GOOGLE 写程序是很神圣的事情!同样只是装系统,卖菜的大娘会的事情不见得就跟卖菜一样了。

TOP

发新话题