On 2016-04-13 00:27, Peter Xu wrote: > On Mon, Apr 11, 2016 at 03:32:18PM +0300, Michael S. Tsirkin wrote: >> On Mon, Apr 11, 2016 at 05:19:10PM +0800, Peter Xu wrote: >>> v2 changes: >>> - patch 1 >>> - rename "int_remap" to "intr" in several places [Marcel] >>> - remove "Intel" specific words in desc or commit message, prepare >>> itself with further AMD support [Marcel] >>> - avoid using object_property_get_bool() [Marcel] >>> - patch 5 >>> - use PCI bus number 0xff rather than 0xf0 for the IOAPIC scope >>> definition. (please let me know if anyone knows how I can avoid >>> user using PCI bus number 0xff... TIA) >>> - patch 11 >>> - fix comments [Marcel] >>> - all >>> - remove intr_supported variable [Marcel] >>> >>> This patchset provide very basic functionalities for interrupt >>> remapping (IR) support of the emulated Intel IOMMU device. >>> >>> By default, IR is disabled to be better compatible with current >>> QEMU. To enable IR, we can using the following command to boot a >>> IR-supported VM with basic network (still do not support kvm-ioapic, >>> so we need to specify kernel-irqchip=off here): >>> >>> $ qemu-system-x86_64 -M q35,iommu=on,intr=on,kernel-irqchip=off \ >>> -enable-kvm -m 1024 -s \ >>> -monitor telnet::3333,server,nowait \ >>> -netdev user,id=user.0,hostfwd=tcp::5555-:22 \ >>> -device virtio-net-pci,netdev=user.0 \ >>> /var/lib/libvirt/images/vm1.qcow2 >>> >>> When guest boots, we can verify whether IR enabled by grepping the >>> dmesg like: >>> >>> [root@localhost ~]# journalctl -k | grep "DMAR-IR" >>> Feb 19 11:21:23 localhost.localdomain kernel: DMAR-IR: IOAPIC id 0 under >>> DRHD base 0xfed90000 IOMMU 0 >>> Feb 19 11:21:23 localhost.localdomain kernel: DMAR-IR: Enabled IRQ >>> remapping in xapic mode >>> >>> Currently only two devices are supported: >>> >>> - Emulated IOAPIC device >>> - PCI Devices >>> >>> TODO List: >>> >>> - kvm-ioapic support >> >> This is probably a must. I don't think we can merge this >> as long as it breaks kvm. > > But kvm-ioapic might require modification to KVM as well. Do you > think I should add kvm-ioapic into this series as well? Or can I > first submit this part of work without kvm-ioapic (since this work > is not related to KVM at all), then work on another one to support > kvm-ioapic?
Just go for split irqchip. If we ever need support for in-kernel irqchip is questionable. Jan