From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60077) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XteKa-0002Gh-OC for qemu-devel@nongnu.org; Wed, 26 Nov 2014 10:16:41 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XteKW-0004Bu-69 for qemu-devel@nongnu.org; Wed, 26 Nov 2014 10:16:36 -0500 Received: from mx1.redhat.com ([209.132.183.28]:60437) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XteKV-0004Bn-UO for qemu-devel@nongnu.org; Wed, 26 Nov 2014 10:16:32 -0500 Message-ID: <5475EECC.3010709@redhat.com> Date: Wed, 26 Nov 2014 08:16:28 -0700 From: Eric Blake MIME-Version: 1.0 References: <1416991272-10277-1-git-send-email-bdpayne@acm.org> <1416991272-10277-2-git-send-email-bdpayne@acm.org> In-Reply-To: <1416991272-10277-2-git-send-email-bdpayne@acm.org> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="Wr85DWr9Q4JUcamF7OJdBwSHRV8q8iuMg" Subject: Re: [Qemu-devel] [PATCH 1/1] qmp: extend QMP to provide read/write access to physical memory List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Bryan D. Payne" , qemu-devel@nongnu.org Cc: lcapitulino@redhat.com This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --Wr85DWr9Q4JUcamF7OJdBwSHRV8q8iuMg Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 11/26/2014 01:41 AM, Bryan D. Payne wrote: > This patch adds a new QMP command that sets up a domain socket. This > socket can then be used for fast read/write access to the guest's > physical memory. The key benefit to this system over existing solutions= > is speed. Using this patch, guest memory can be copied out at a rate of= > ~200MB/sec, depending on the hardware. Existing solutions only achieve > a small fraction of this speed. >=20 > Signed-off-by: Bryan D. Payne > --- > Makefile.target | 2 +- > memory-access.c | 200 ++++++++++++++++++++++++++++++++++++++++++++++++= ++++++++ > memory-access.h | 11 ++++ > monitor.c | 10 +++ > qmp-commands.hx | 27 ++++++++ Where is the *.json file that adds the QMP command contract? > +++ b/qmp-commands.hx > @@ -609,6 +609,33 @@ Example: > EQMP > =20 > { > + .name =3D "pmemaccess", > + .args_type =3D "path:s", > + .params =3D "path", > + .help =3D "mount guest physical memory image at 'path'",= > + .user_print =3D monitor_user_noop, > + .mhandler.cmd_new =3D do_physical_memory_access, > + }, > + > +SQMP > +pmemaccess > +---------- > + > +Mount guest physical memory image at 'path'. > + > +Arguments: > + > +- "path": mount point path (json-string) > + > +Example: > + > +-> { "execute": "pmemaccess", > + "arguments": { "path": "/tmp/guestname" } } Sounds like you are missing this entry (probably best to put it in the top-level qapi-schema.json): { 'command': 'pmemaccess', 'data': { 'path': 'str' } } as well as documentation that mentions it is targetted for addition in 2.= 3. --=20 Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org --Wr85DWr9Q4JUcamF7OJdBwSHRV8q8iuMg Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 Comment: Public key at http://people.redhat.com/eblake/eblake.gpg iQEcBAEBCAAGBQJUde7MAAoJEKeha0olJ0Nqs4kIAIIRxZkQLTDRWa4ea1Nsg0Pa vXW0U5my1pV/TBeFGwhS6Y4iiW1KS7MKkOCTnr3wxRhMDTrvDlokxpLIYTqMrjAi 3s+LwMEboCwNFC0zf8dBGV8aHniiYirFX8LJwFp+tGUMfDKkxlibc7t+mhba0HCb Lj4vKsfT07WjFWIQTp6FBOwOr33MieqFR+NU/uK4D7sNgXyyJBRhctDBx3srqt4B yUDjhHT4iD501l71Gea0MK9o++uqbpVFa0PQ4Wb/S02JS47YO30RkVjataQ9j0XF acHl/m1anQHWYHPUsAYF9cAe6sbm2ONh+LI6MfUZV7Kc/PZgWp/UBxpBWRp5BW4= =cEya -----END PGP SIGNATURE----- --Wr85DWr9Q4JUcamF7OJdBwSHRV8q8iuMg--