Re: Emitting an ignore_int() handled interrupt and system response

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



As said by `Understanding linux kernel', all the 255 IDT (Interrupt
Descriptor Table) entries are initialized in system initialization
to the handler ignore_int. ignore_int job is to print "Unkown
interrupt" and return to normal code:

--> arch/i386/kernel/head.S:
int_msg:
       .asciz "Unknown interrupt or fault at EIP %p %p %p\n"
[...]
ignore_int:
[...]
       pushl $int_msg
       call printk
[...]
       iret

I've created a small module to test above code (having a doubt about
a line) and I got a BUG and the message above wasn't printed.

Here's the module code:

#include <linux/module.h>
MODULE_LICENSE("GPL");
/* IRQ 25 is reserved as said by Intel documentation, So
 * vector 25 is handled by ignore_int */
int init(void) { asm("int $25");  return 0;}
module_init(init);


Not sure if this will be of help ... but software is not allow to
issue any interrupt that it wants. There is an allowable number of
interrupts that the software can issue, the rest of them have to be
raised in hardware. Are you sure that IRQ 25 is allowed to be issued
from software?

Thanks,

Rajat

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux