Skip to contentSkip to conversation

Plz help!!

DISCUSSION Bijoy Thomas 1 participant 1 message Apr 3, 2003

lore
Share & tools
lore
#0 lore raw

Hi guys!!!

This is my first mail to ts list and i'm eagerly awaiting a
reply. I was goin thru the printk source and found out that pritk was calling the write method of struct console 's present on a list pointed to by console_drivers. So I thot of adding my own console driver like this....

#define MODULE
#define __KERNEL__
#include<linux/module.h>
#include<linux/kernel.h>
#include<linux/console.h>
#include<linux/sched.h>

void my_write(struct console *co,const char *buf,unsigned count) {
struct tty_struct *my_tty;
my_tty = current->tty;
if(my_tty != NULL)

  {
    ((my_tty->driver).write)(my_tty,0,buf,strlen(buf));

}
}

struct console my_console = {
name:"MYCON",
write:my_write,
flags:CON_ENABLED,
index:-1,
};

int init_module()
{
register_console(&my_console);
return 0;
}

void cleanup_module()
{
}

When I insmoded the module (in run level 3) it worked fine. While it was still inserted i typed 'startx' and when i pressed 'Enter' ,the machine instantly rebooted!!! I tried this again and it happened. With MYCON registered ,if I issue the startx command ,the machine reboots. Also if MYCON is registered and I shutdown using 'init 0' again the reboot happens.Can anyone explain??

bye
Bijoy Jacob Thomas