From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49584) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b7Nxa-0008M2-2h for qemu-devel@nongnu.org; Mon, 30 May 2016 10:14:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b7NxU-0001V9-RW for qemu-devel@nongnu.org; Mon, 30 May 2016 10:14:24 -0400 Received: from mx1.redhat.com ([209.132.183.28]:42122) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b7NxU-0001V5-Lb for qemu-devel@nongnu.org; Mon, 30 May 2016 10:14:20 -0400 References: <1464012090-6477-1-git-send-email-marcel@redhat.com> <20160530134309.GB20746@pxdev.xzpeter.org> From: Marcel Apfelbaum Message-ID: <574C4AB7.5090203@redhat.com> Date: Mon, 30 May 2016 17:14:15 +0300 MIME-Version: 1.0 In-Reply-To: <20160530134309.GB20746@pxdev.xzpeter.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH RFC 0/2] enable iommu with -device List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Xu Cc: qemu-devel@nongnu.org, ehabkost@redhat.com, pbonzini@redhat.com, mst@redhat.com, davidkiarie4@gmail.com, bd.aviv@gmail.com On 05/30/2016 04:43 PM, Peter Xu wrote: > On Mon, May 23, 2016 at 05:01:28PM +0300, Marcel Apfelbaum wrote: >> This is a proposal on how to create the iommu with >> '-device intel-iommu' instead of '-machine,iommu=on'. >> >> The device is part of the machine properties because we wanted >> to ensure it is created before any other PCI device. >> >> The alternative is to skip the bus_master_enable_region at >> the time the device is created. We can create this region >> at machine_done phase. (patch 1) >> >> Then we can enable sysbus devices for PC machines and make all the >> init steps inside the iommu realize function. (patch 2) >> >> The series is working, but a lot of issues are not resolved: >> - minimum testing was done >> - the iommu addr should be passed (maybe) in command line rather than hard-coded >> - enabling sysbus devices for PC machines is risky, I am not aware yet >> of the side effects of this modification. >> - I am not sure moving the bus_master_enable_region to machine_done >> is with no undesired effects. > > I gave it a shot on the patches and it works nicely (of course no > complex configurations, like hot plug). > > Could you help introduce what will bring us if we use "-device" rather > than "-M" options? Benefits I can see is that, we can specify > parameters with specific device, rather than messing them up in > "machine" options. Do we have any other benefits that I may have > missed? Hi Peter, Thanks for trying it! Mainly is about not hard-coding device options (e.g. PCI address for AMD IOMMU), but also to avoid having devices added as a side-effect of some machine option. This will bring as closer to a cleaner model of a modular machine. I plan to post a non-rfc version soon. Thanks, Marcel > > Thanks! > > -- peterx >