From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56756) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZaIAi-0000Dp-LH for qemu-devel@nongnu.org; Fri, 11 Sep 2015 02:50:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZaIAf-0000lm-B2 for qemu-devel@nongnu.org; Fri, 11 Sep 2015 02:50:56 -0400 Received: from mout.web.de ([212.227.17.11]:57744) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZaIAf-0000lS-14 for qemu-devel@nongnu.org; Fri, 11 Sep 2015 02:50:53 -0400 References: <55EF5493.5090600@web.de> From: Jan Kiszka Message-ID: <55F279C9.7040700@web.de> Date: Fri, 11 Sep 2015 08:50:49 +0200 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="sQrca93l3cNWs78FaH35IADGwrcE30O4K" Subject: Re: [Qemu-devel] Aspirant for AMD IOMMU emulation project for Outreachy List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Rita Sinha Cc: Andrew Honig , David kiarie , QEMU Developers This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --sQrca93l3cNWs78FaH35IADGwrcE30O4K Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Rita, [CC'ing Andrew due to overlap with split irqchip topic] On 2015-09-09 19:41, Rita Sinha wrote: > Hi Jan, >=20 >> >> Most likely than not you'll work on the Intel IOMMU and I would >> suggest, if you wish to get your feet dirty, just start right away >> with the Intel IOMMU (In which case Jan could direct you better) >> instead of the AMD one. >> >=20 > As suggested by David, I would request you to guide me as to how to > get started with Intel IOMMU. >=20 You can find the basic problem description and some links here: http://wiki.qemu.org/Google_Summer_of_Code_2015#VT-d_interrupt_emulation_= with_KVM_support Who much do you know about IOMMUs and interrupt remapping in general? The spec may provide a certain introduction to the topic, but it also quickly dives into details. Let me know where you see gaps to build up a better understanding of the topic. Implementation-wise, you could start off with the existing interrupt remapping patches and look into the missing error reporting for IR on that basis. I've just rebased and pushed a new version. Error reporting is currently done in form of plain printf. The correct behaviour is described in the spec. Feel free to nag me with questions on how things work around interrupt remapping in general and its QEMU integration in particular. The goal is to get this upstream eventually. So the current design needs to be prepared for submission, reviewed by subsystem maintainer, and then possibly reworked based on their feedback. We will also need some command line switch (machine property, like iommu=3Don) to control the availability of IR because the original Q35 chipset didn't include this feature. But there is also the aim to integrate it with KVM support, and that's why I'm CC'ing Andrew. At Google, they are currently working on QEMU patches for their split KVM irqchip model. This will push the IOAPIC into QEMU hands, even when KVM in-kernel APIC acceleration is used. And that will allow IR to be installed easily, without any KVM kernel-side changes. Andrew, what is the status of your QEMU patches? Are there chances to preview them in order to asses if and how much integration work is needed for interrupt remapping? Rita, you probably noticed that this is no beginner's task, both regarding the hardware background as well as the QEMU subsystems. You have worked with several low-level software components before and have some QEMU experience, so this topic could be a good match for you. Still, if you have doubts after looking into details, let me know so that we can discuss them. Best regards, Jan --sQrca93l3cNWs78FaH35IADGwrcE30O4K Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEYEARECAAYFAlXyeckACgkQitSsb3rl5xR2XQCeO/5OWZGYC7tu3QkjZ6K6Lrmt ItwAn1bjeAacOcLJN4z/3+FSSfKd+DfJ =uCLK -----END PGP SIGNATURE----- --sQrca93l3cNWs78FaH35IADGwrcE30O4K--