From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52462) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ypcb4-0000W7-Df for qemu-devel@nongnu.org; Tue, 05 May 2015 09:09:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ypcb0-00018Z-8X for qemu-devel@nongnu.org; Tue, 05 May 2015 09:09:14 -0400 Date: Tue, 5 May 2015 22:28:05 +1000 From: David Gibson Message-ID: <20150505122805.GP14090@voom.redhat.com> References: <1429964684-23872-1-git-send-email-aik@ozlabs.ru> <1429964684-23872-7-git-send-email-aik@ozlabs.ru> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="DCmRZ841GpRfzaEr" Content-Disposition: inline In-Reply-To: <1429964684-23872-7-git-send-email-aik@ozlabs.ru> Subject: Re: [Qemu-devel] [PATCH qemu v7 06/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: Alex Williamson , qemu-ppc@nongnu.org, qemu-devel@nongnu.org, Alexander Graf --DCmRZ841GpRfzaEr Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Apr 25, 2015 at 10:24:36PM +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 --DCmRZ841GpRfzaEr Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBAgAGBQJVSLdVAAoJEGw4ysog2bOSCmMP/ibFgNnw3M1xmWDPTnpKGOcG Njzuhy9Sk6xYTRAVmJgv/4/tS5EfulRHx3+x0NhH0n2ivJIVFD2eKrPejbMjltli H/FIL/s/zRmWhYfkOl4+tbIGtPyBwylGb2L/t7peRrMvYgFffv626l5B1d+TlpiA BsvOsRUJPG9Oz0uB8I8BpEohplCraEA+ey+oykCYwyfuizNicKPOQKYIvJ64BBBQ 3zEvbJKYZNnGrCLacNpTQoBq6pZaddDDfqW8iO8HGl/v0KcPMsFucCoc6CPJGKPb NHU2jivIZpTGsXrrb0q4CffiXS5nr6ZhlTBG4kh7qVduwwkD7Ho7KQqLztvVNMBD 6o2UP7JkUcstupUsc6I6Wg9QAHot/MjY/EEduWY6ng9PBXmH70bIqJz45II049lU QnFvRBifM35yUoAlk6jPxjeEyyz0JUGfHd424zd9XoWW3w739/zRFM8iU+Mm86wG 3istbLMn8hbiYakTWg5BC/GZ8TY9nbYt3kNaZjNT1tnHA1ftdeyL0HSa18MrWfKk 7n0NN8oOyGijh05tIfgCXxrmXVT9ZoejwK45lcM0DhZCPBZVrw9gUODEiW91NRWp hDf11qp4/7gfv+3HCpjcq1ClJgiLAUEZETm5TTmusWAvvEN+Pxn4nytZmBBUdOVK A9P7cdxaCbLLJzDd7+W9 =4yTK -----END PGP SIGNATURE----- --DCmRZ841GpRfzaEr--