From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57391) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZC4OM-0006fc-QW for qemu-devel@nongnu.org; Mon, 06 Jul 2015 07:16:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZC4OI-0006SY-GE for qemu-devel@nongnu.org; Mon, 06 Jul 2015 07:16:54 -0400 Date: Mon, 6 Jul 2015 20:07:32 +1000 From: David Gibson Message-ID: <20150706100732.GC17857@voom.redhat.com> References: <1436148670-6592-1-git-send-email-aik@ozlabs.ru> <1436148670-6592-6-git-send-email-aik@ozlabs.ru> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="uXxzq0nDebZQVNAZ" Content-Disposition: inline In-Reply-To: <1436148670-6592-6-git-send-email-aik@ozlabs.ru> Subject: Re: [Qemu-devel] [PATCH qemu v10 05/14] spapr_iommu: Introduce "enabled" state for TCE table List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alexey Kardashevskiy Cc: Michael Roth , Alex Williamson , qemu-ppc@nongnu.org, qemu-devel@nongnu.org, Gavin Shan --uXxzq0nDebZQVNAZ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Jul 06, 2015 at 12:11:01PM +1000, Alexey Kardashevskiy wrote: > Currently TCE tables are created once at start and their size never > changes. We are going to change that by introducing a Dynamic DMA windows > support where DMA configuration may change during the guest execution. >=20 > This changes spapr_tce_new_table() to create an empty stub object. Only > LIOBN is assigned by the time of creation. It still will be called once > at the owner object (VIO or PHB) creation. >=20 > This introduces an "enabled" state for TCE table objects with two > helper functions - spapr_tce_table_enable()/spapr_tce_table_disable(). > spapr_tce_table_enable() receives TCE table parameters and allocates > a guest view of the TCE table (in the user space or KVM). > spapr_tce_table_disable() disposes the table. >=20 > Follow up patches will disable+enable tables on reset (system reset > or DDW reset). >=20 > No visible change in behaviour is expected except the actual table > will be reallocated every reset. We might optimize this later. >=20 > The other way to implement this would be dynamically create/remove > the TCE table QOM objects but this would make migration impossible > as migration expects all QOM objects to exist at the receiver > so we have to have TCE table objects created when migration begins. >=20 > spapr_tce_table_do_enable() is separated from from spapr_tce_table_enable= () > as later it will be called at the sPAPRTCETable post-migration stage when > it has all the properties set after the migration. >=20 > Signed-off-by: Alexey Kardashevskiy Reviewed-by: David Gibson --=20 David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson --uXxzq0nDebZQVNAZ Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBAgAGBQJVmlNkAAoJEGw4ysog2bOSADIQALNx6QvBbcsvGjocpHUexiuv AUm8NNJu+9k4YHSpsynNWdjYR8cPBRCPb1kBNuS9ldhS9RmaFsdfYttChVxZVAG/ 6tQL1YbamDoFq6x43EP48pV+wW4sngCNw21or2/5KdCarILzfwgHyuyNhJcHDvTh kBoSz3aQ2414fuaH0Ytb6owpjJoOHBD9q+0WXuCBDnhiTGMHzekN66vQaDWphV/z 8ZJ3gKbSgSOIlnmTwaE8ioAsHz3AkqQQtGGkYA7vqgXA5S/Dk2eQ3gbQZKIFwFWi 7+RFI2mb3vvZO5ogOElfUEfc1s5RVil12jlvxoIvgDfXr91A94PeUxdFnkrKjAmy rrMVeSTi9BEiTSZXuZy3m0HFMnSGF+O3nVsVQxEjwzPfz4N32vNA46n4kGs/8k+3 kxbLuN9bsnkLMTk3H2ShPtpf8MqtNcKeq+8aP9IQDbBycBVA86DwmXNDUX+raiCL 3gHJYAJCwfn+B+2uGTPQF0T0idN0+zVNuyDqcVH6YoPZBoHEk/t37mKhkM3ANM7k qK7/TvdCQM04EX1XQ2c/2XqeNLAGyUzWSK7lfM8wucqZZwh7cp3JKJ9ju5ZISDua wlrX9Sy5aEtuOWz1yoH4rTnU0m0nX0GsduOjQw+xMMBa52onw0Z8ijYOAUjNJVMX NbdEKXt8BMvOA1wr5j8N =ybWt -----END PGP SIGNATURE----- --uXxzq0nDebZQVNAZ--