interrupts - Virtual IRQ's and what they do

06
2014-04
  • rubixibuc

    I'm surprised but from what I can find there is very little good information on what these really are. Some say they are actually virtual (software interrupts) some say hardware, and a lot say stuff that I at least know is partly untrue. What are these really and how do they work? What is there purpose? Are there actual hardware lines on the motherboard that represent them?

  • Answers
  • Kaz

    There is no generally accepted, single definition of "virtual IRQ".

    It may refer to a software scheme of representing interrupts which abstract physical IRQ's (allowing for sharing of a physical IRQ line by two devices, for instance).

    Or it could be something else. For instance, simulated interrupts in a virtual machine. If your Virtualbox gets an interrupt request from its virtual Ethernet card, that can be nothing other than a virtual interrupt request.

    Regarding dedicated copper lines on a motherboard: it's more sensible to send a message.

    See for instance:

    http://en.wikipedia.org/wiki/Message_Signaled_Interrupts

    (Is that "virtual IRQ"?)


  • Related Question

    What is the interrupt key for Linux command "less"
  • Questioner

    When you do shift-f with less, you can see the file update in real time, and you get the "Waiting for data...(interrupt to abort)" message.

    The updating works fine, but what is the interrupt? nothing seems to work (Ctrl-C, Esc, Ctrl-I etc). I always have to kill the terminal which is a pain.


  • Related Answers
  • Randy Orrison

    Ctrl+C works for me. When I use the F command in less, it says "(interrupt to abort)". The "interrupt" that it's referring to is whatever key is bound to the terminal interrupt. The command stty -a shows the relevant terminal settings:

    speed 38400 baud; rows 50; columns 80; line = 0; intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = ; eol2 = ; swtch = ; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0; -parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8 opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke

    It's the intr = ^C that shows that interrupt is generated by Ctrl+C.

    If you do stty -a what does it show?