Hello, I'm trying to install an interrupt handler for interrupt 10 which is generated by a PCI video card. In the code below I request the irq, do some outs and in's to clear the vga interrupt and then enable it, and then do a hard interrupt enable. The program seems to die after I do the hard enable, at least that is the last message I have logged. Potentially it appears to crash after I get to the interrupt handler, but I guess that is just speculation. Below is the code, thanks Maybe this is a hint, sometimes on the console it says UNKNOWN INTERRUPT. The interrupt is not listed in /proc/interrupts but it is listed in /proc/pci as being generated by the video card. Adam #include <asm/io.h> #include <rtl_fifo.h> #include <rtl_core.h> #include <rtl_time.h> #include <rtl.h> unsigned int intr_handler(unsigned int,struct pt_regs*); unsigned int interrupt_count=0; int init_module(void) { char portbyte; //this is called when the module is loaded. //here we should install our interrupt handle printk("Loading interrupt module\n"); //interrupt 10 is where the video card retrace is rtl_request_irq(10,intr_handler); printk("Requested interrupt 10\n"); //now lets do the stuff to the vga so we know what the hell //we are doing outb_p(0x3d4,0x11); portbyte=inb_p(0x3d5); //clear the interrupt flag portbyte=(portbyte & 0xef) | 0x20; outb_p(0x3d5,(portbyte & 0xef)|0x20); //now enable the interrupt portbyte=(portbyte & 0xdf)|0x10; outb_p(0x3d5,portbyte); rtl_hard_enable_irq(10); printk("Hard enabled interrupt 10\n"); return 0; } void cleanup_module(void) { printk("Exiting interrupt module\n"); printk("Got '%d' interrupts\n",interrupt_count); rtl_hard_disable_irq(10); rtl_free_irq(10); } unsigned int intr_handler(unsigned int irq,struct pt_regs *regs) { //char portbyte; //called at interrupt time....lets just do a printk //printk("Got interrupt '%d'",interrupt_count); // interrupt_count++; /* outb_p(0x3d4,11); portbyte=inb_p(0x3d5); outb_p(0x3d4,11); outb_p(0x3d5,portbyte & 0xef); */ rtl_hard_enable_irq(10); return 0; } --- [rtl] --- To unsubscribe: echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED] ---- For more information on Real-Time Linux see: http://www.rtlinux.org/~rtlinux/