From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57663) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X2k8N-0005Ym-QR for qemu-devel@nongnu.org; Thu, 03 Jul 2014 12:45:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1X2k8H-0004w5-1U for qemu-devel@nongnu.org; Thu, 03 Jul 2014 12:45:19 -0400 Received: from mout.web.de ([212.227.17.12]:63007) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X2k8G-0004vw-My for qemu-devel@nongnu.org; Thu, 03 Jul 2014 12:45:12 -0400 Message-ID: <53B5888F.50609@web.de> Date: Thu, 03 Jul 2014 18:45:03 +0200 From: Jan Kiszka MIME-Version: 1.0 References: <1404375987-29810-1-git-send-email-tamlokveer@gmail.com> <53B517CD.7090209@web.de> <20140703100219.GA24859@redhat.com> In-Reply-To: <20140703100219.GA24859@redhat.com> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="XvSBtW0Gf1A5FpnQnliiU5m3SpM0xJtr3" Subject: Re: [Qemu-devel] [PATCH] ahci: map memory via device's address space instead of address_space_memory List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael S. Tsirkin" Cc: kwolf@redhat.com, peter.maydell@linaro.org, Le Tan , qemu-devel@nongnu.org, pbonzini@redhat.com, afaerber@suse.de This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --XvSBtW0Gf1A5FpnQnliiU5m3SpM0xJtr3 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On 2014-07-03 12:02, Michael S. Tsirkin wrote: > On Thu, Jul 03, 2014 at 10:43:57AM +0200, Jan Kiszka wrote: >> On 2014-07-03 10:26, Le Tan wrote: >>> In map_page() in hw/ide/ahci.c, replace cpu_physical_memory_map() and= >>> cpu_physical_memory_unmap() with dma_memory_map() and dma_memory_unma= p(), >>> because ahci devices should not access memory directly but via their = address >>> space. Add an AddressSpace parameter to map_page(). In order to call >>> map_page(), we should pass the AHCIState.as as the AddressSpace argum= ent. >> >> BTW, when doing "git grep cpu_physical_memory_map hw", there are some >> more cases that should be checked (for x86). I suppose vhost is >> incompatible with an IOMMU, >=20 > vhost can be made to work: you just need to > update its memory tables as appropriate. > But see below >=20 >> but plain virtio should work, >=20 > It doesn't: all guests pass in physical addresses at the moment. You mean they do not put virtio devices into IOMMU domains, or they do put them but ignore any translation rules that are not 1:1? > We discussed requiring this for virtio 1.0, but in the end, > most people thought that passing through virtio devices > isn't worthwhile. It should be consistent at least. If virtio is not translated, we have to exclude such devices via ACPI tables from the scope of our IOMMUs. > We can certainly add that as an option, with a feature bit. >=20 > If you feel otherwise, you can comment on the latest spec draft. Does the spec at least state that "virtio devices are not subject to any guest configured IOMMU translation"? Is is this left undefined? Jan --XvSBtW0Gf1A5FpnQnliiU5m3SpM0xJtr3 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.0.19 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iEYEARECAAYFAlO1iJMACgkQitSsb3rl5xQzUgCeL8vFH0skWIyLIWy8WtTBgmjA a8MAnA1EvYf1EwAu5bWziZH0TAJ32j1c =RZw5 -----END PGP SIGNATURE----- --XvSBtW0Gf1A5FpnQnliiU5m3SpM0xJtr3--