<p>AKAIK I think is possible. For example int 3 in x86 is actually an interrupt so to say. I don&#39;t want to go in other details about exception vs interrupts and stack saving. But in short you can achieve what you are trying here.</p>

<p>Search for breakpoint handler probably in entry.S and from the trace back to IDT initialization. Replace the vector 3 with your handlers address. Now you can do int 3 from elsewhere in inline assembly.</p>
<p>On May 28, 2012 3:40 AM, &quot;Mark Farnell&quot; &lt;<a href="mailto:mark.farnell@gmail.com">mark.farnell@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; This is for an assignment, where the student needs to write an<br>
&gt; interrupt handler.<br>
&gt;<br>
&gt; Since the OS is run on a virtual machine,  I need to find a way to<br>
&gt; trigger the IRQ to let the students&#39; interrupt handler to handle the<br>
&gt; interrupt.<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On Mon, May 28, 2012 at 9:27 AM, richard -rw- weinberger<br>
&gt; &lt;<a href="mailto:richard.weinberger@gmail.com">richard.weinberger@gmail.com</a>&gt; wrote:<br>
&gt; &gt; On Sun, May 27, 2012 at 2:02 AM, Mark Farnell &lt;<a href="mailto:mark.farnell@gmail.com">mark.farnell@gmail.com</a>&gt; wrote:<br>
&gt; &gt;&gt; In the kernel, how can I find out the interrupt vector number of a<br>
&gt; &gt;&gt; given IRQ (for example, IRQ7)?<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Within the kernel module, I would like to manually set the IRQ using<br>
&gt; &gt;&gt; the assembly code:<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; asm(&quot;int $&lt;irq vector&gt;&quot;);<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; and let the IRQ handler installed by a different module catch that interrupt.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Is this possible?<br>
&gt; &gt;<br>
&gt; &gt; No really because not all IRQ have an interrupt line to the CPU.<br>
&gt; &gt; Linux can multiplex and emulate them. Think of GPIO drivers with<br>
&gt; &gt; interrupt support.<br>
&gt; &gt; Anyway, why to you think you need to trigger the raw IRQ manually?<br>
&gt; &gt; This sounds really odd...<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; --<br>
&gt; &gt; Thanks,<br>
&gt; &gt; //richard<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Kernelnewbies mailing list<br>
&gt; <a href="mailto:Kernelnewbies@kernelnewbies.org">Kernelnewbies@kernelnewbies.org</a><br>
&gt; <a href="http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies">http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies</a><br>
</p>