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. 

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. 

Regards, 
Michal 

----- Original Message ----- 
From: ric_vil...@mentor.com 
To: vbox-dev@virtualbox.org 
Sent: Friday, March 25, 2016 12:11:35 AM GMT +01:00 Amsterdam / Berlin / Bern / 
Rome / Stockholm / Vienna 
Subject: Re: [vbox-dev] Chipset support for Message Signaled Interrupts (MSI) 





Now I have the opposite question. Are IRQ type interrupts (as in PCI Config 
0x3d IntPin) expected to work with ICH9? 



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. 



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. 



>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". 



Thanks, 



// RicV 








From: Ananth Pallapothu [mailto:apallapo...@gmail.com] 
Sent: Monday, March 21, 2016 15:55 
To: Vilbig, Ric 
Cc: VirtualBox developer's list 
Subject: Re: [vbox-dev] Chipset support for Message Signaled Interrupts (MSI) 



MSI's came into existence after PIIX3. 

Yes, if you need MSI you need to use ICH9. 
PIIX3 doesn't support MSI 


On Mar 21, 2016 6:43 PM, "Vilbig, Ric" < ric_vil...@mentor.com > wrote: 



Hi Experts, 



I posted the following on the VIrtualBox forum, but Perry recommended I contact 
you by the email list. 

https://forums.virtualbox.org/viewtopic.php?f=10&t=76867 






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). 



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). 



“...VirtualBox 4.0 introduced an emulation of the more modern ICH9 chipset, 
which supports PCI express, 

three PCI buses, PCI-to-PCI bridges and Message Signaled Interrupts (MSI)...” 



Can someone confirm or refute with certainty that the PIIX3 chipset does not 
support MSI and ICH9 is required for device models using MSI? 



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. 



“Note that the ICH9 support is experimental and not recommended for guest 
operating systems which do not require it.” 






Thanks in advance for your help. 



_____________________________________________ 



Ric Vilbig 

Mentor Graphics, Emulation Division 

46871 Bayside Parkway, Fremont CA, 94538 

Phone: 510-354-7360 

Mobile: 408-529-2365 

email: ric_vil...@mentor.com 






_______________________________________________ 
vbox-dev mailing list 
vbox-dev@virtualbox.org 
https://www.virtualbox.org/mailman/listinfo/vbox-dev
_______________________________________________
vbox-dev mailing list
vbox-dev@virtualbox.org
https://www.virtualbox.org/mailman/listinfo/vbox-dev

Reply via email to