LinuxÒÁµéÔ°ÂÛ̳'s Archiver

ajanyk ·¢±íÓÚ 2007-6-19 12:42

Ò»¸ö³ÌÐò,Çë´ó¼Ò¿´¿´

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);

ajanyk ·¢±íÓÚ 2007-6-19 22:47

û´ó¸çÃǻشðÂð?:(

synge ·¢±íÓÚ 2007-6-19 23:45

Ê×ÏÈÉùÃûһϱ¾È˵ÄCˮƽһ°ã°ã£¬ÎÒÖ»ÏëÎÊLZÁ½¸öÎÊÌ⣺
1.ÄãµÄmain£¨£©ÔÚÄÇÀ
2.ÎÒ´Óû¼û˵¹ýprintk()¿âº¯Êý£¬Ö»Ìý˵¹ýprintf()¿âº¯Êý¡£

ajanyk ·¢±íÓÚ 2007-6-20 10:53

Õâ¸öÊÇÓÃÇý¶¯µÄ·½Ê½½øÐмÓÔØ,printkÊǺË̬´òÓ¡Êä³öÓï¾ä,ÓÃdmesg¿ÉÒÔ¿´µÄµ½,µÈ°¡,Ï£Íû¸ßÊÖÖ¸µã,ºÜÓôÃÆ

flag ·¢±íÓÚ 2007-6-21 13:51

ÄãÈ·¶¨free_irqºÍrequest_irqÊÇÕâôÓõÄÂð£¿

ajanyk ·¢±íÓÚ 2007-6-22 16:52

ÎÒ²»ÊǷdz£È·ÐÅ,²»¹ýÎÒ¿´µ½ÓÐÈËÕâÑù³É¹¦ÁË,µ«ÊÇÎÒ»¹ÕÒ²»³öÎÊÌâ

flag ·¢±íÓÚ 2007-6-28 09:28

תµ½Äں˰濴¿´

Ò³: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.