<html><head><style type='text/css'>p { margin: 0; }</style></head><body><div style='font-family: Times New Roman; font-size: 12pt; color: #000000'><br> Yes, but with a caveat. Though to answer such questions for yourself, consider creating a Windows or Linux VM with default settings, switching to the ICH9 chipset, and running some reasonably recent guest OS version. You'll see that it uses a mix of IRQs and MSIs.<br><br> The caveat is that PCI IRQ delivery only works through the I/O APIC (one of the reasons why the ICH9 implementation is labeled as experimental). PCI IRQ routing setup in the LPC device is missing for passing IRQs through the PIC. That could be what the "can't derive routing for PCI INT" message refers to.<br><br>    Regards,<br>      Michal<br><br>----- Original Message -----<br>From: ric_vilbig@mentor.com<br>To: vbox-dev@virtualbox.org<br>Sent: Friday, March 25, 2016 12:11:35 AM GMT +01:00 Amsterdam / Berlin / Bern / Rome / Stockholm / Vienna<br>Subject: Re: [vbox-dev] Chipset support for Message Signaled Interrupts (MSI)<br><br>



<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->

<div lang="EN-US">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Now I have the opposite question.  Are IRQ type interrupts (as in PCI Config 0x3d IntPin) expected to work with ICH9?</span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">I have a virtual PCI device which works with PIIX3 quite nicely using IRQ4 — a USB3 mass storage device.  But when plugged into the ICH9 VM the device is not
 detected within the guest, using IRQ1/2/3/4.</span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">The guest must know the device is present, because it does lots of MMIO Rd/Wr to it, and then the device does some DMA, and raises an interrupt.  Everything
 looks quite similar between the ICH9 and PIIX3 case, except the former does nothing more after raising the interrupt, whereas the latter continues working with lots more DMA, interrupts, and a usable mass storage device in the guest.</span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">From what I have found so far, the interrupt is passed down into PDM, but does not actually do anything, and dmesg in the guest says "can't derive routing for
 PCI INT n".</span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Thanks,</span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">//  RicV</span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Ananth Pallapothu [mailto:apallapothu@gmail.com]
<br>
<b>Sent:</b> Monday, March 21, 2016 15:55<br>
<b>To:</b> Vilbig, Ric<br>
<b>Cc:</b> VirtualBox developer's list<br>
<b>Subject:</b> Re: [vbox-dev] Chipset support for Message Signaled Interrupts (MSI)</span></p>
</div>
</div>
<p class="MsoNormal"> </p>
<p>MSI's came into existence after PIIX3.</p>
<p>Yes, if you need MSI you need to use ICH9.<br>
PIIX3 doesn't support MSI</p>
<div>
<p class="MsoNormal">On Mar 21, 2016 6:43 PM, "Vilbig, Ric" <<a href="mailto:ric_vilbig@mentor.com" target="_blank">ric_vilbig@mentor.com</a>> wrote:</p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="color:#002060">Hi Experts,</span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="color:#002060"> </span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="color:#002060">I posted the following on the VIrtualBox forum, but Perry recommended I contact you by the email list.</span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="color:#002060"><a href="https://forums.virtualbox.org/viewtopic.php?f=10&t=76867" target="_blank">https://forums.virtualbox.org/viewtopic.php?f=10&t=76867</a></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="color:#002060"> </span></p>
<div style="margin-left:.5in">
<div class="MsoNormal" style="text-align:center" align="center"><span style="color:#002060">
<hr align="center" size="3" width="100%">
</span></div>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.5in">
<span style="color:#002060">I am working on a custom PCI device model, plugged into VirtualBox via PDM. It's mostly working, lspci for example shows it's present. But I am having a problem with Message Signaled Interrupts (MSI).</span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.5in">
<span style="color:#002060"> </span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.5in">
<span style="color:#002060">The following quote from Ch.3 of the VirtualBox User Manual implies that the ICP9 chipset must be used for MSI support, and I have seen supporting evidence in web searches and VBox source code (OSE 5.0.16 tarball).</span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.5in">
<span style="color:#002060"> </span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.5in">
<span style="color:#002060">“...VirtualBox 4.0 introduced an emulation of the more modern ICH9 chipset, which supports PCI express,</span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.5in">
<span style="color:#002060">three PCI buses, PCI-to-PCI bridges and Message Signaled Interrupts (MSI)...”</span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.5in">
<span style="color:#002060"> </span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.5in">
<b><span style="color:#002060">Can someone confirm or refute with certainty that the PIIX3 chipset does not support MSI and ICH9 is required for device models using MSI?</span></b></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.5in">
<span style="color:#002060"> </span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.5in">
<span style="color:#002060">How worried should I be about this excerpt from the same paragraph? A quick test of ICH9 VM did not go well. I've actually tried with Fedora 23, Fedora 18 and Ubuntu 14 guests (all 64-bit) without success, but not yet dug into it
 because this quote worries me.</span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.5in">
<span style="color:#002060"> </span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:.5in">
<span style="color:#002060">“Note that the ICH9 support is experimental and not recommended for guest operating systems which do not require it.”</span></p>
<div style="margin-left:.5in">
<div class="MsoNormal" style="text-align:center" align="center"><span style="color:#002060">
<hr align="center" size="3" width="100%">
</span></div>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="color:#002060"> </span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="color:#002060">Thanks in advance for your help.</span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="color:#002060"> </span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="color:#002060">_____________________________________________</span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b><span style="font-size:10.0pt;color:#002060"> </span></b></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b><span style="color:#002060">Ric Vilbig</span></b></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:10.0pt;color:#002060">Mentor Graphics, Emulation Division</span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:10.0pt;color:#002060">46871 Bayside Parkway, Fremont CA, 94538</span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:10.0pt;color:#002060">Phone: 
<a href="about:blank" target="_blank">510-354-7360</a></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:10.0pt;color:#002060">Mobile:
<a href="about:blank" target="_blank">408-529-2365</a></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:10.0pt;color:#002060">email: 
<a href="mailto:ric_vilbig@mentor.com" target="_blank">ric_vilbig@mentor.com</a></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:10.0pt;color:#002060"> </span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> </p>
</div>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
_______________________________________________<br>
vbox-dev mailing list<br>
<a href="mailto:vbox-dev@virtualbox.org" target="_blank">vbox-dev@virtualbox.org</a><br>
<a href="https://www.virtualbox.org/mailman/listinfo/vbox-dev" target="_blank">https://www.virtualbox.org/mailman/listinfo/vbox-dev</a></p>
</div>
</div>
</div>
</div>

</div></body></html>