This set of patches is from Alexandar Kudryavtsev of the Institute for System Programming at the Russian Academy of Sciences (ISP-RAS, http://ispras.ru/en/). Note that there is also a very large patch set under contrib/isp-ras from the same author, which includes some of these changes. This patch set includes a major contribution, the integration of the QUIX86 decoder, which can be used instead of the XED decoder or Palacios's internal instruction decoder. The V3VEE project appreciates the substantial effort embodied in this work. The original email announcing these patches is included below. ==================== From: Alexander Kudryavtsev Date: Wed, Aug 31, 2011 at 3:18 AM Subject: Re: ISPRAS To: Jack Lange Cc: Arutyun Avetisyan Hi Jack, Please look at the attachment for the first two patches from us. They are QUIX86 decoder support and PCI Capabilities passthrough support. QUIX86 can be enabled like Xed from configuration. Currently we are planning to post QUIX86 on github or something like that. PCI capabilities patch adds some changes mainly to pci_passthrough.c. It required support of config space read hooking, so I changed old implementation of v3_pci_register_passthrough_device (which seemed to be not used) to be the same as v3_pci_register_device adding read hook function parameter. This patch includes support for selective capability hiding (currently only MSI), it can be done in xml file adding MSI to passed through device entry. Also note that we added possibility to pass through multiple identical devices. Also we changed implementation of config space hardware access functions, because they seemed to be erroneous for word and byte accesses. Finally, we faced a problem with raise_pci_irq in piix3.c. For passed through device, when interrupt occurs, PIRQ entry for it is masked. So currently there is some workaround, not sure whether it is correct. Please note that with this patch passed through device may try to enable MSI interrupt, and it will not be delivered correctly. That's the main reason of adding exclude_cap tag. Concerning the third patch, MSI interrupt support, we have to make some tests with Linux kernel 2.6.30. Our current MSI implementation works well with 2.6.18, but in 2.6.30 there are some changes in MSI setup so we need to check everything. Thanks, Alexander