This directory contains a wide range of patches provide by Alexander Kudryavtsev (a.o.kudryavtsev@gmail.com) of the Institute for System Programming of the Russian Academy of Sciences (ISP-RAS: http://ispras.ru/en/). These patches are currently under review for inclusion in mainline Palacios devel branch. A description of the patches from Alexander Kudryavtsev is given below. The V3VEE project is thankful for these patches. ============================== Hello everyone! I represent a team working in the virtualization area at ISP RAS (http://ispras.ru/en/). Since August 2011 we started investigating Palacios. Our first goal was to reproduce Palacios authors results. While working with Palacios, we needed some features. We implemented these features, here is the list (not complete): 1. PCI Capabilities passthrough support (patch 0002). It is required by many devices to see their capabilities to work correctly. Only PCI (256 bytes) capabilities are supported. 2. PCI MSI (message-signalled interrupts) support (patches 3, 4, 5, 18, 20, 28, 32). It includes MSI interrupt router and support for MSI capability passthrough. We tested MSI with 2.6.18 and 2.6.32 guests on different hardware. MSI capability passthrough required real APIC ID retrieving, so we changed OS interface. Patch for Kitten OS is attached. 3. PCI MSI-X support (patches 12, 29, 31). It allows many interrupts per device and is required on some server hardware. MSI-X support is included inside MSI router. Code for MSI-X passthrough is present, but currently it is not working. 4. Support for deferred EOI (End of interrupt) for passed through devices (patches 6-7). It is required for some devices to work. Support from host OS is also required, patch for Kitten is attached. 5. VMX, EPT related fixes (patches 8, 9, 10, 13, 22, 23, 24, 26). Some of them became not relevant. EPT fix enables caching of guest memory and of EPT tables, highly increasing guest speed. 6. PCI-2-PCI bridge support (patch 15), SMBIOS device support (patch 17) - these two patches were required by one of our test Infiniband card driver to work inside guest. Kitten patches are the following: 1. Report real APIC ID to Palacios. It is required for MSI/MSI-X passthrough handling. (palacios-get-apic-id) 2. Do not perform EOI for devices owned by Palacios. (no-palacios-eoi) We propose these patches with the hope that they may help developing Palacios. These patches could be applied onto commit 840a7c8a40cbb875c1c748845f093ff898e99766 and represent our local branch. Some patches contain the same fixes which can be found in Palacios development branch. We do not rebase our changes on Release-1.3 branch since we don't know which of these changes you would like to use and our resources are limited. We will be happy to answer your questions.