<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://linux-kvm.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jan</id>
	<title>KVM - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://linux-kvm.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jan"/>
	<link rel="alternate" type="text/html" href="https://linux-kvm.org/page/Special:Contributions/Jan"/>
	<updated>2026-04-05T23:01:33Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.5</generator>
	<entry>
		<id>https://linux-kvm.org/index.php?title=Talk:How_to_assign_devices_with_VT-d_in_KVM&amp;diff=173825</id>
		<title>Talk:How to assign devices with VT-d in KVM</title>
		<link rel="alternate" type="text/html" href="https://linux-kvm.org/index.php?title=Talk:How_to_assign_devices_with_VT-d_in_KVM&amp;diff=173825"/>
		<updated>2017-05-27T12:37:03Z</updated>

		<summary type="html">&lt;p&gt;Jan: /* method obsolete -&amp;gt; use vfio-pci */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hello,&lt;br /&gt;
&lt;br /&gt;
Does this work with AMD IOMMU too?&lt;br /&gt;
&lt;br /&gt;
Thanks, Peter&lt;br /&gt;
&lt;br /&gt;
== method obsolete -&amp;gt; use vfio-pci ==&lt;br /&gt;
&lt;br /&gt;
Just found someone blindly referencing this. Should be updated, specifically now that legacy pci-assign has been removed.&lt;br /&gt;
-- Jan&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://linux-kvm.org/index.php?title=Getting_the_kvm_kernel_modules&amp;diff=4255</id>
		<title>Getting the kvm kernel modules</title>
		<link rel="alternate" type="text/html" href="https://linux-kvm.org/index.php?title=Getting_the_kvm_kernel_modules&amp;diff=4255"/>
		<updated>2011-10-25T11:09:07Z</updated>

		<summary type="html">&lt;p&gt;Jan: Update git references to point to kiszka.org&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are a variety of sources of kvm kernel modules.  Which ones to use depend on whether you are interested in using, testing, or developing kvm.&lt;br /&gt;
&lt;br /&gt;
As of now, all major community and enterprise distributions contain kvm kernel modules and userspace; these are either installed by default or require installing a kvm package.  For someone looking for stability, these are the best choice.  No effort is needed to build or install the modules, support is provided by the distribution, and the distribution/module combination is well tested.&lt;br /&gt;
&lt;br /&gt;
For those stuck on an older kernel, but wishing to run a modern, stable kvm release the kvm maintainers provide an external module kit that can run a modern kvm on an older kernel.  These packages are named kvm-kmod-3.x.y (or kvm-kmod-3.x), and correspond to the kvm code contained in Linux 3.x.y.  They can generally be run on any Linux kernel older than 3.x, but not older than 2.6.24.&lt;br /&gt;
&lt;br /&gt;
If you wish to help testing the kvm component of the next Linux release, but without running a -rc kernel from kernel.org, you may use kvm-kmod-3.x-rcy, containing the code from Linux 3.x-rcy backported to run on older kernels.  Feedback from running this release will help improve the kvm in the next kernel release.&lt;br /&gt;
&lt;br /&gt;
For testing development snapshots, the [http://git.kiszka.org/?p=kvm-kmod.git kvm-kmod git repository] can be cloned.  See [http://git.kiszka.org/?p=kvm-kmod.git;a=blob;f=README kvm-kmod README] for detailed build instructions.  Modules generated via this source don&#039;t correspond exactly to any Linux release, but instead use code from the kvm.git (the kvm development repository) at the point of their release.  These are generally the most up-to-date modules.&lt;br /&gt;
&lt;br /&gt;
In summary:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Release type&lt;br /&gt;
! Suitable for&lt;br /&gt;
|-&lt;br /&gt;
| Distribution provided&lt;br /&gt;
| Mainstream use; supported by distribution&lt;br /&gt;
|-&lt;br /&gt;
| kvm-kmod-2.6.x.y&lt;br /&gt;
| Running modern, stable kvm releases on older kernels&lt;br /&gt;
|-&lt;br /&gt;
| kvm-kmod-2.6.x-rcy&lt;br /&gt;
| Testing the next kvm-kmod-2.6.x.y release&lt;br /&gt;
|-&lt;br /&gt;
| kvm-kmod git&lt;br /&gt;
| Testing bleeding-edge development code&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://linux-kvm.org/index.php?title=File:KVM-Forum-2011-RT-KVM.pdf&amp;diff=3732</id>
		<title>File:KVM-Forum-2011-RT-KVM.pdf</title>
		<link rel="alternate" type="text/html" href="https://linux-kvm.org/index.php?title=File:KVM-Forum-2011-RT-KVM.pdf&amp;diff=3732"/>
		<updated>2011-08-13T04:13:02Z</updated>

		<summary type="html">&lt;p&gt;Jan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://linux-kvm.org/index.php?title=Getting_the_kvm_kernel_modules&amp;diff=3668</id>
		<title>Getting the kvm kernel modules</title>
		<link rel="alternate" type="text/html" href="https://linux-kvm.org/index.php?title=Getting_the_kvm_kernel_modules&amp;diff=3668"/>
		<updated>2011-07-23T11:42:21Z</updated>

		<summary type="html">&lt;p&gt;Jan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are a variety of sources of kvm kernel modules.  Which ones to use depend on whether you are interested in using, testing, or developing kvm.&lt;br /&gt;
&lt;br /&gt;
As of now, all major community and enterprise distributions contain kvm kernel modules and userspace; these are either installed by default or require installing a kvm package.  For someone looking for stability, these are the best choice.  No effort is needed to build or install the modules, support is provided by the distribution, and the distribution/module combination is well tested.&lt;br /&gt;
&lt;br /&gt;
For those stuck on an older kernel, but wishing to run a modern, stable kvm release the kvm maintainers provide an external module kit that can run a modern kvm on an older kernel.  These packages are named kvm-kmod-3.x.y (or kvm-kmod-3.x), and correspond to the kvm code contained in Linux 3.x.y.  They can generally be run on any Linux kernel older than 3.x, but not older than 2.6.24.&lt;br /&gt;
&lt;br /&gt;
If you wish to help testing the kvm component of the next Linux release, but without running a -rc kernel from kernel.org, you may use kvm-kmod-3.x-rcy, containing the code from Linux 3.x-rcy backported to run on older kernels.  Feedback from running this release will help improve the kvm in the next kernel release.&lt;br /&gt;
&lt;br /&gt;
For testing development snapshots, the [http://git.kernel.org/?p=virt/kvm/kvm-kmod.git kvm-kmod git repository] can be cloned.  See [http://git.kernel.org/?p=virt/kvm/kvm-kmod.git;a=blob;f=README kvm-kmod README] for detailed build instructions.  Modules generated via this source don&#039;t correspond exactly to any Linux release, but instead use code from the kvm.git (the kvm development repository) at the point of their release.  These are generally the most up-to-date modules.&lt;br /&gt;
&lt;br /&gt;
In summary:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Release type&lt;br /&gt;
! Suitable for&lt;br /&gt;
|-&lt;br /&gt;
| Distribution provided&lt;br /&gt;
| Mainstream use; supported by distribution&lt;br /&gt;
|-&lt;br /&gt;
| kvm-kmod-2.6.x.y&lt;br /&gt;
| Running modern, stable kvm releases on older kernels&lt;br /&gt;
|-&lt;br /&gt;
| kvm-kmod-2.6.x-rcy&lt;br /&gt;
| Testing the next kvm-kmod-2.6.x.y release&lt;br /&gt;
|-&lt;br /&gt;
| kvm-kmod git&lt;br /&gt;
| Testing bleeding-edge development code&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://linux-kvm.org/index.php?title=Status&amp;diff=3590</id>
		<title>Status</title>
		<link rel="alternate" type="text/html" href="https://linux-kvm.org/index.php?title=Status&amp;diff=3590"/>
		<updated>2011-05-27T11:03:05Z</updated>

		<summary type="html">&lt;p&gt;Jan: add VGA assigment&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Status=&lt;br /&gt;
&lt;br /&gt;
KVM is included in the mainline linux kernel since 2.6.20 and is stable and fast for most workloads.&lt;br /&gt;
&lt;br /&gt;
It is also available as a patch for recent Linux kernel versions and as an external module that can be used with your favorite distro- provided kernel going back up to 2.6.16, therefore including all latest versions for Enterprise Linux Distributions.&lt;br /&gt;
&lt;br /&gt;
===Working:===&lt;br /&gt;
&lt;br /&gt;
* Intel-based hosts (requires VT capable processors)&lt;br /&gt;
* AMD-based hosts (requires SVM capable processors)&lt;br /&gt;
* Windows/Linux/Unix guests (32-bit and 64-bit)&lt;br /&gt;
* SMP hosts&lt;br /&gt;
* SMP guests (as of kvm-61, max 16 cpu supported)&lt;br /&gt;
* Live [[Migration]] of guests from one host to another (32-bit and 64-bit)&lt;br /&gt;
* See the [[Guest Support Status]] page for a list of guest operating systems known to work&lt;br /&gt;
* See the [[Host Support Status]] page for information on host hardware.&lt;br /&gt;
* Guest swapping&lt;br /&gt;
* [[Paravirtualized networking]]&lt;br /&gt;
* [[Paravirtualized block device]]&lt;br /&gt;
* [[How_to_assign_devices_with_VT-d_in_KVM|PCI-Express passthrough]]&lt;br /&gt;
&lt;br /&gt;
===In progress:===&lt;br /&gt;
&lt;br /&gt;
* [[PowerPC|PowerPC port]]&lt;br /&gt;
* IA64 port&lt;br /&gt;
* xenner (http://kraxel.fedorapeople.org/xenner), a project to run x86 xen guest (domU) kernels&lt;br /&gt;
* [https://wiki.ncl.cs.columbia.edu/wiki/index.php/AndroidVirt:MainPage ARM port]&lt;br /&gt;
* [[VGA_device_assignment|VGA device assignment]]&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://linux-kvm.org/index.php?title=VGA_device_assignment&amp;diff=3589</id>
		<title>VGA device assignment</title>
		<link rel="alternate" type="text/html" href="https://linux-kvm.org/index.php?title=VGA_device_assignment&amp;diff=3589"/>
		<updated>2011-05-27T10:58:48Z</updated>

		<summary type="html">&lt;p&gt;Jan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Assigning physical VGA adapters =&lt;br /&gt;
&lt;br /&gt;
On first glance, assigning modern PCI/PCIe VGA adapters should not be different from [[How_to_assign_devices_with_VT-d_in_KVM|passing through normal PCI devices]]. But there are additional challenges to solve, specifically related to legacy VGA requirement and proprietary mechanisms to relocate I/O regions of the adapters. Moreover, some QEMU and SeaBIOS deficits contribute to the current situation that things rarely work out of the box.&lt;br /&gt;
&lt;br /&gt;
== Open issues ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Insufficient PCI window size&#039;&#039;&#039;&amp;lt;br&amp;gt;This is a fixable SeaBIOS limitations. Patches are under development, e.g. by [http://www.kraxel.org/cgit/seabios/log/?h=kraxel.q35&amp;amp;id=99ff4d141d5a460eaf20fe2d4d13117c888eae15 Gerd Hoffmann]&lt;br /&gt;
* &#039;&#039;&#039;Non-standard I/O region remapping&#039;&#039;&#039;&amp;lt;br&amp;gt;At least NVIDIA adapters of the Quadro series a known to be affected by this, but probably only during early boot. A workaround could be identity mapping, i.e. locating the memory BARs in the guest at the same locations as on the host. Of course, this breaks if guest OS or guest driver decided to remap them for some reason.&lt;br /&gt;
* &#039;&#039;&#039;Legacy VGA support&#039;&#039;&#039;&amp;lt;br&amp;gt;In order to get boot messages of the guest BIOS, boot loader, or early OS stages, access to the legacy VGA PIO and MMIO regions need to be forwarded to the passed-through adapter. Moreover, the VBIOS of the adapter must be bootable inside the guest. In details, the following aspects need to be addressed:&lt;br /&gt;
** &#039;&#039;&#039;Legacy VGA pass-through&#039;&#039;&#039;&amp;lt;br&amp;gt;QEMU requires patches to forward guest access to legacy VGA to the assigned adapter.&lt;br /&gt;
** &#039;&#039;&#039;PAM/SRAM QEMU breakage&#039;&#039;&#039;&amp;lt;br&amp;gt;Current QEMU contains broken code that prevents access to legacy VGA even if the adapter is emulated but differently initialized (test case: -vga none -device VGA)&lt;br /&gt;
** &#039;&#039;&#039;Legacy VGA arbitration&#039;&#039;&#039;&amp;lt;br&amp;gt;As the legacy IO resources cannot be remapped, access need to be switched between guests and host on demand. The Linux kernel provides a VGA arbiter for this purpose, but it is not used consistently by all involved parties. Moreover, QEMU requires additional patches to support this.&lt;br /&gt;
** &#039;&#039;&#039;VBIOS ROM access&#039;&#039;&#039;&amp;lt;br&amp;gt;To re-run the POST procedures of the assigned adapter inside the guest, the proper VBIOS ROM image has to be used. However, when passing through the primary adapter of the host, Linux provides only access to the shadowed version of the VBIOS which may differ from the pre-POST version (due to modification applied during POST). This has be been observed with NVDIA Quadro adapters. A workaround is to retrieve the VBIOS from the adapter while it is in secondary mode and use this saved image (-device pci-assign,...,romfile=...). But even that may fail, either due to problems of the host chipset or BIOS (host kernel complains about unmappable ROM BAR).&lt;br /&gt;
&lt;br /&gt;
== Potential tweaks &amp;amp; tricks ==&lt;br /&gt;
&lt;br /&gt;
* Some adapters may advertise MSI support even if that feature does not work properly. In that case, KVM will use MSI on the host side unconditionally unless instructed to follow the guest driver usage via -device pci-assign,...,prefer_msi=off.&lt;br /&gt;
&lt;br /&gt;
== Success stories ==&lt;br /&gt;
&lt;br /&gt;
Despite all existing problems, some users already succeeded passing through VGA adapters:&lt;br /&gt;
&lt;br /&gt;
* [http://thread.gmane.org/gmane.comp.emulators.kvm.devel/72987 Radeon HD 6950 with patched SeaBIOS]&lt;br /&gt;
* [http://thread.gmane.org/gmane.comp.emulators.kvm.devel/71981 Radeon HD 5850]&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://linux-kvm.org/index.php?title=How_to_assign_devices_with_VT-d_in_KVM&amp;diff=3379</id>
		<title>How to assign devices with VT-d in KVM</title>
		<link rel="alternate" type="text/html" href="https://linux-kvm.org/index.php?title=How_to_assign_devices_with_VT-d_in_KVM&amp;diff=3379"/>
		<updated>2010-11-02T16:44:55Z</updated>

		<summary type="html">&lt;p&gt;Jan: Update command line switch and monitor commands to new syntax&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= How to assign devices with VT-d in KVM =&lt;br /&gt;
&lt;br /&gt;
== VT-d support ==&lt;br /&gt;
* In order to assign devices in KVM, you&#039;ll need a system which supports VT-d. This has nothing to do with the VT-x support of your CPU, VT-d needs to be supported by your chipset on your motherboard.&lt;br /&gt;
&lt;br /&gt;
* If you are in doubt whether your motherboard supports VT-d or not, the Xen VT-d wikipage has some pointers of VT-d enabled chipsets and motherboards:&lt;br /&gt;
        http://wiki.xensource.com/xenwiki/VTdHowTo&lt;br /&gt;
&lt;br /&gt;
* If your hardware doesn&#039;t have an IOMMU (&amp;quot;Intel VT-d&amp;quot; support in case of Intel - &amp;quot;AMD I/O Virtualization Technology&amp;quot; support in case of AMD), you&#039;ll not be able to assign devices in KVM. Some work towards allowing this were done, but the code never made it into KVM, due to various issues with the code. At the moment it doesn&#039;t seem like device assignment without hardware support, will ever be integrated into KVM.&lt;br /&gt;
&lt;br /&gt;
* Assignment of graphics cards are not supported at the moment, but it seems like one person is currently working on writing patches for this in his spare time (February, 2010):&lt;br /&gt;
        http://www.spinics.net/lists/kvm/msg25977.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Assigning device to guest ==&lt;br /&gt;
&#039;&#039;&#039;1. Modifying kernel config:&#039;&#039;&#039;&lt;br /&gt;
* make menuconfig&lt;br /&gt;
* set &amp;quot;Bus options (PCI etc.)&amp;quot; -&amp;gt; &amp;quot;Support for DMA Remapping Devices&amp;quot; to &amp;quot;*&amp;quot;&lt;br /&gt;
* set &amp;quot;Bus options (PCI etc.)&amp;quot; -&amp;gt; &amp;quot;Enable DMA Remapping Devices&amp;quot; to &amp;quot;*&amp;quot;&lt;br /&gt;
* set &amp;quot;Bus options (PCI etc.)&amp;quot; -&amp;gt; &amp;quot;PCI Stub driver&amp;quot; to &amp;quot;*&amp;quot;&lt;br /&gt;
* optional setting:&lt;br /&gt;
        set &amp;quot;Bus options (PCI etc.)&amp;quot; -&amp;gt; &amp;quot;Support for Interrupt Remapping&amp;quot; to &amp;quot;*&amp;quot;&lt;br /&gt;
* exit/save&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;2. build kernel:&#039;&#039;&#039;&lt;br /&gt;
* make&lt;br /&gt;
* make modules_install&lt;br /&gt;
* make install&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. reboot and verify that your system has IOMMU support&#039;&#039;&#039;&lt;br /&gt;
* dmesg | grep -e DMAR -e IOMMU&lt;br /&gt;
 ...&lt;br /&gt;
 DMAR:DRHD base: 0x000000feb03000 flags: 0x0&lt;br /&gt;
 IOMMU feb03000: ver 1:0 cap c9008020e30260 ecap 1000&lt;br /&gt;
 ...&lt;br /&gt;
* If you get no output you&#039;ll need to fix this before moving on. Check if your hardware supports VT-d and check that it has been enabled in BIOS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; If you still get an error &amp;quot;No IOMMU found.&amp;quot;  Check dmesg for errors suggesting your BIOS is broken. Another possible reason: &lt;br /&gt;
CONFIG_DMAR_DEFAULT_ON is not set. In that case, pass &amp;quot;intel_iommu=on&amp;quot; as kernel parameter to enable it.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4. unbind device from host kernel driver (example PCI device 01:00.0)&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
* lspci -n&lt;br /&gt;
* locate the entry for device 01:00.0 and note down the vendor &amp;amp; device ID 8086:10b9&lt;br /&gt;
        ...&lt;br /&gt;
        01:00.0 0200: 8086:10b9 (rev 06)&lt;br /&gt;
        ...&lt;br /&gt;
&lt;br /&gt;
* echo &amp;quot;8086 10b9&amp;quot; &amp;gt; /sys/bus/pci/drivers/pci-stub/new_id&lt;br /&gt;
* echo 0000:01:00.0 &amp;gt; /sys/bus/pci/devices/0000:01:00.0/driver/unbind&lt;br /&gt;
* echo 0000:01:00.0 &amp;gt; /sys/bus/pci/drivers/pci-stub/bind&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5. load KVM modules:&#039;&#039;&#039;&lt;br /&gt;
* modprobe kvm&lt;br /&gt;
* modprobe kvm-intel&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6. assign device:&#039;&#039;&#039;&lt;br /&gt;
* /usr/local/bin/qemu-system-x86_64 -m 512 -boot c -net none -hda /root/ia32e_rhel5u1.img -device pci-assign,host=01:00.0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== VT-d device hotplug ==&lt;br /&gt;
KVM also supports hotplug devices with VT-d to guest. In guest command interface (you can press Ctrl+Alt+2 to enter it), you can use following command to hot add/remove devices to/from guest:&lt;br /&gt;
* hot add:&lt;br /&gt;
        device_add pci-assign,host=01:00.0,id=mydevice&lt;br /&gt;
* hot remove:&lt;br /&gt;
        device_del mydevice&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
* VT-d spec specifies that all conventional PCI devices behind a PCIe-to PCI/PCI-X bridge or conventional PCI bridge can only be collectively assigned to the same guest. PCIe devices do not have this restriction.&lt;br /&gt;
* If the device doesn&#039;t support MSI, and it shares IRQ with other devices, then it cannot be assigned due to host irq sharing for assigned devices is not supported. You will get warning message when you assign it. Notice this also apply to the devices which only support MSI-X.&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://linux-kvm.org/index.php?title=How_to_assign_devices_with_VT-d_in_KVM&amp;diff=3378</id>
		<title>How to assign devices with VT-d in KVM</title>
		<link rel="alternate" type="text/html" href="https://linux-kvm.org/index.php?title=How_to_assign_devices_with_VT-d_in_KVM&amp;diff=3378"/>
		<updated>2010-11-02T16:36:25Z</updated>

		<summary type="html">&lt;p&gt;Jan: Explain the CONFIG_DMAR_DEFAULT_ON trap&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= How to assign devices with VT-d in KVM =&lt;br /&gt;
&lt;br /&gt;
== VT-d support ==&lt;br /&gt;
* In order to assign devices in KVM, you&#039;ll need a system which supports VT-d. This has nothing to do with the VT-x support of your CPU, VT-d needs to be supported by your chipset on your motherboard.&lt;br /&gt;
&lt;br /&gt;
* If you are in doubt whether your motherboard supports VT-d or not, the Xen VT-d wikipage has some pointers of VT-d enabled chipsets and motherboards:&lt;br /&gt;
        http://wiki.xensource.com/xenwiki/VTdHowTo&lt;br /&gt;
&lt;br /&gt;
* If your hardware doesn&#039;t have an IOMMU (&amp;quot;Intel VT-d&amp;quot; support in case of Intel - &amp;quot;AMD I/O Virtualization Technology&amp;quot; support in case of AMD), you&#039;ll not be able to assign devices in KVM. Some work towards allowing this were done, but the code never made it into KVM, due to various issues with the code. At the moment it doesn&#039;t seem like device assignment without hardware support, will ever be integrated into KVM.&lt;br /&gt;
&lt;br /&gt;
* Assignment of graphics cards are not supported at the moment, but it seems like one person is currently working on writing patches for this in his spare time (February, 2010):&lt;br /&gt;
        http://www.spinics.net/lists/kvm/msg25977.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Assigning device to guest ==&lt;br /&gt;
&#039;&#039;&#039;1. Modifying kernel config:&#039;&#039;&#039;&lt;br /&gt;
* make menuconfig&lt;br /&gt;
* set &amp;quot;Bus options (PCI etc.)&amp;quot; -&amp;gt; &amp;quot;Support for DMA Remapping Devices&amp;quot; to &amp;quot;*&amp;quot;&lt;br /&gt;
* set &amp;quot;Bus options (PCI etc.)&amp;quot; -&amp;gt; &amp;quot;Enable DMA Remapping Devices&amp;quot; to &amp;quot;*&amp;quot;&lt;br /&gt;
* set &amp;quot;Bus options (PCI etc.)&amp;quot; -&amp;gt; &amp;quot;PCI Stub driver&amp;quot; to &amp;quot;*&amp;quot;&lt;br /&gt;
* optional setting:&lt;br /&gt;
        set &amp;quot;Bus options (PCI etc.)&amp;quot; -&amp;gt; &amp;quot;Support for Interrupt Remapping&amp;quot; to &amp;quot;*&amp;quot;&lt;br /&gt;
* exit/save&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;2. build kernel:&#039;&#039;&#039;&lt;br /&gt;
* make&lt;br /&gt;
* make modules_install&lt;br /&gt;
* make install&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. reboot and verify that your system has IOMMU support&#039;&#039;&#039;&lt;br /&gt;
* dmesg | grep -e DMAR -e IOMMU&lt;br /&gt;
 ...&lt;br /&gt;
 DMAR:DRHD base: 0x000000feb03000 flags: 0x0&lt;br /&gt;
 IOMMU feb03000: ver 1:0 cap c9008020e30260 ecap 1000&lt;br /&gt;
 ...&lt;br /&gt;
* If you get no output you&#039;ll need to fix this before moving on. Check if your hardware supports VT-d and check that it has been enabled in BIOS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; If you still get an error &amp;quot;No IOMMU found.&amp;quot;  Check dmesg for errors suggesting your BIOS is broken. Another possible reason: &lt;br /&gt;
CONFIG_DMAR_DEFAULT_ON is not set. In that case, pass &amp;quot;intel_iommu=on&amp;quot; as kernel parameter to enable it.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4. unbind device from host kernel driver (example PCI device 01:00.0)&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
* lspci -n&lt;br /&gt;
* locate the entry for device 01:00.0 and note down the vendor &amp;amp; device ID 8086:10b9&lt;br /&gt;
        ...&lt;br /&gt;
        01:00.0 0200: 8086:10b9 (rev 06)&lt;br /&gt;
        ...&lt;br /&gt;
&lt;br /&gt;
* echo &amp;quot;8086 10b9&amp;quot; &amp;gt; /sys/bus/pci/drivers/pci-stub/new_id&lt;br /&gt;
* echo 0000:01:00.0 &amp;gt; /sys/bus/pci/devices/0000:01:00.0/driver/unbind&lt;br /&gt;
* echo 0000:01:00.0 &amp;gt; /sys/bus/pci/drivers/pci-stub/bind&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5. load KVM modules:&#039;&#039;&#039;&lt;br /&gt;
* modprobe kvm&lt;br /&gt;
* modprobe kvm-intel&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6. assign device:&#039;&#039;&#039;&lt;br /&gt;
* /usr/local/bin/qemu-system-x86_64 -m 512 -boot c -net none -hda /root/ia32e_rhel5u1.img -pcidevice host=01:00.0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== VT-d device hotplug ==&lt;br /&gt;
KVM also supports hotplug devices with VT-d to guest. In guest command interface (you can press Ctrl+Alt+2 to enter it), you can use following command to hot add/remove devices to/from guest:&lt;br /&gt;
* hot add:&lt;br /&gt;
        pci_add pci_addr=auto host host=01:00.0&lt;br /&gt;
* hot remove (e.g bdf is 00:06.0 in guest):&lt;br /&gt;
        pci_del pci_addr=6&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
* VT-d spec specifies that all conventional PCI devices behind a PCIe-to PCI/PCI-X bridge or conventional PCI bridge can only be collectively assigned to the same guest. PCIe devices do not have this restriction.&lt;br /&gt;
* If the device doesn&#039;t support MSI, and it shares IRQ with other devices, then it cannot be assigned due to host irq sharing for assigned devices is not supported. You will get warning message when you assign it. Notice this also apply to the devices which only support MSI-X.&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
	<entry>
		<id>https://linux-kvm.org/index.php?title=KvmForum2010CFP&amp;diff=2958</id>
		<title>KvmForum2010CFP</title>
		<link rel="alternate" type="text/html" href="https://linux-kvm.org/index.php?title=KvmForum2010CFP&amp;diff=2958"/>
		<updated>2010-04-21T15:59:26Z</updated>

		<summary type="html">&lt;p&gt;Jan: Copy&amp;amp;pasted the CFP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=================================================================&lt;br /&gt;
&lt;br /&gt;
CALL FOR PAPERS &lt;br /&gt;
&lt;br /&gt;
KVM Forum 2010&lt;br /&gt;
&lt;br /&gt;
=================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DESCRIPTION&lt;br /&gt;
&lt;br /&gt;
 The KVM Forum is back! After a break last year we&#039;re proud to present&lt;br /&gt;
 this year&#039;s gathering around KVM again.  The idea is to have everyone&lt;br /&gt;
 involved with KVM development come together to talk about the future&lt;br /&gt;
 and current state of KVM, teaching everyone some pieces of the puzzle&lt;br /&gt;
 they might be missing without.&lt;br /&gt;
 &lt;br /&gt;
 So if you&#039;re a KVM developer, mark the dates in your calendar! If&lt;br /&gt;
 possible, also submit a talk -- we&#039;re interested in a wide variety of&lt;br /&gt;
 KVM topics, so don&#039;t hesitate to propose a talk on your work.&lt;br /&gt;
&lt;br /&gt;
 If you&#039;re not a KVM developer, please read on nevertheless (or jump to&lt;br /&gt;
 END USER COLLABORATION).&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
DATES / LOCATION&lt;br /&gt;
&lt;br /&gt;
 Conference: August 9 - 10, 2010&lt;br /&gt;
 Location: Renaissance Boston Waterfront in Boston, MA&lt;br /&gt;
 &lt;br /&gt;
 Abstracts due: May 14th, 2010&lt;br /&gt;
 Notification: May 28th, 2010&lt;br /&gt;
 &lt;br /&gt;
 Yes, we&#039;re colocated with LinuxCon.  Tickets for the KVM Forum also count&lt;br /&gt;
 for LinuxCon.&lt;br /&gt;
&lt;br /&gt;
 http://events.linuxfoundation.org/component/registrationpro/?func=details&amp;amp;did=34&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
PROCESS&lt;br /&gt;
&lt;br /&gt;
 At first check if it&#039;s before May 14th.  If you&#039;re past that date, you&#039;re&lt;br /&gt;
 out of luck.  Now try to think hard and come up with a great idea that&lt;br /&gt;
 you could talk about.  Once you have that set, we need you to write up&lt;br /&gt;
 a short abstract (~150 words) on it.  In your submission please note&lt;br /&gt;
 how long your talk will take.  Slots vary in length up to one hour.&lt;br /&gt;
 Also include in your proposal the proposal type -- one of: technical talk,&lt;br /&gt;
 breakout session, or end-user talk.  Add that information to the abstract&lt;br /&gt;
 and submit it at the following URL:&lt;br /&gt;
 &lt;br /&gt;
 http://events.linuxfoundation.org/cfp/cfp-add&lt;br /&gt;
 &lt;br /&gt;
 Now, wait until May 24th.  You will receive a notification on whether&lt;br /&gt;
 your talk was accepted or not.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
SCOPE OF TALKS&lt;br /&gt;
&lt;br /&gt;
 We have a list of suggested presentation topics below.  These suggestions&lt;br /&gt;
 are just for guidance, please feel free to submit a proposal on any&lt;br /&gt;
 of these or related topics.  In general, the more it&#039;s about backend&lt;br /&gt;
 infrastructure, the better.&lt;br /&gt;
 &lt;br /&gt;
 KVM&lt;br /&gt;
   - Scaling and performance&lt;br /&gt;
   - Nested virtualization&lt;br /&gt;
   - I/O improvements&lt;br /&gt;
   - Driver domains&lt;br /&gt;
   - Time keeping&lt;br /&gt;
   - Memory management (page sharing, swapping, huge pages, etc)&lt;br /&gt;
   - Fault tolerance&lt;br /&gt;
   - VEPA, vswitch&lt;br /&gt;
&lt;br /&gt;
  Embedded KVM&lt;br /&gt;
   - KVM on ARM, PPC, MIPS, ...?&lt;br /&gt;
   - Real-time requirements host/guest&lt;br /&gt;
   - Device pass-through w/o iommu&lt;br /&gt;
   - Custom device/platform models&lt;br /&gt;
 &lt;br /&gt;
 QEMU&lt;br /&gt;
   - Device model improvements&lt;br /&gt;
   - New devices&lt;br /&gt;
   - Security model&lt;br /&gt;
   - Scaling and performance&lt;br /&gt;
   - Desktop virtualization&lt;br /&gt;
   - Increasing robustness&lt;br /&gt;
   - Management interfaces&lt;br /&gt;
   - QMP protocol and implementation&lt;br /&gt;
   - Live migration&lt;br /&gt;
 &lt;br /&gt;
 Virtio&lt;br /&gt;
   - Speeding up existing devices&lt;br /&gt;
   - Vhost&lt;br /&gt;
   - Alternatives&lt;br /&gt;
   - Using virtio in non-kvm environments&lt;br /&gt;
   - Virtio on non-Linux&lt;br /&gt;
 &lt;br /&gt;
 Management infrastructure&lt;br /&gt;
   - Libvirt&lt;br /&gt;
   - Kvm autotest&lt;br /&gt;
   - Easy networking&lt;br /&gt;
   - Qemud&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
BREAKOUT SESSION&lt;br /&gt;
&lt;br /&gt;
 We will reserve some time each day to break out for working sessions.&lt;br /&gt;
 These sessions will be less formal than a presentation and more focused&lt;br /&gt;
 on developing a solution to some real development issue.  If you are&lt;br /&gt;
 interested in getting developers together to hack on some code, submit&lt;br /&gt;
 your proposal and just make it clear it&#039;s a breakout session proposal.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
END-USER COLLABORATION&lt;br /&gt;
&lt;br /&gt;
 One of the big challenges as developers is to know what, where and how&lt;br /&gt;
 people actually use our software.  To solve this issue at least a little,&lt;br /&gt;
 there will be a few slots reserved for end users talking about their&lt;br /&gt;
 deployments, problems and achievements.&lt;br /&gt;
 &lt;br /&gt;
 So if you have a KVM based deployment running in production or are about&lt;br /&gt;
 to roll out one, please also submit a talk (see PROCESS), and simply&lt;br /&gt;
 mark it asn an end-user collaboration proposal.  We would love to have&lt;br /&gt;
 an open discussion of fields where KVM/Qemu can still improve and you&lt;br /&gt;
 would have the unique chance to steer that process!&lt;br /&gt;
  &lt;br /&gt;
 Keep in mind that most of the Forum will be focused on development though,&lt;br /&gt;
 so we suggest you also come with a good portion of technical interest  :-) .&lt;br /&gt;
 And of course, no product marketing please!  The purpose is to engage&lt;br /&gt;
 with KVM developers.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
LIGHTNING TALKS&lt;br /&gt;
&lt;br /&gt;
 In addition to submitted talks we will also have some room for lightning&lt;br /&gt;
 talks. So if you have something you think might be done until the KVM&lt;br /&gt;
 Forum, but you&#039;re not sure you could fill 15 minutes with it. Or if you&lt;br /&gt;
 don&#039;t know if you&#039;ll make it until there, just keep in mind that you&lt;br /&gt;
 will still get the chance to talk about it.  Lightning talk submissions&lt;br /&gt;
 and scheduling will be handled on-site at KVM Forum.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Thank you for your interest in KVM.  We&#039;re looking forward to your&lt;br /&gt;
 submissions and seeing you at the KVM Forum 2010 in August!  Now, start&lt;br /&gt;
 thinking about that talk you want to give.&lt;br /&gt;
&lt;br /&gt;
 Thanks,&lt;br /&gt;
 your KVM Forum 2010 Program Commitee&lt;br /&gt;
&lt;br /&gt;
 Alexander Graf, Novell&lt;br /&gt;
 Anthony Liguori, IBM&lt;br /&gt;
 Avi Kivity, Red Hat&lt;br /&gt;
 Chris Wright, Red Hat&lt;br /&gt;
 Dor Laor, Red Hat&lt;br /&gt;
 Jan Kiszka, Siemens&lt;br /&gt;
&lt;br /&gt;
 Please contact us with any questions or comments.&lt;br /&gt;
&lt;br /&gt;
 KVM-Forum-2010-PC@redhat.com&lt;/div&gt;</summary>
		<author><name>Jan</name></author>
	</entry>
</feed>