From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37247) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z5EIt-0003nf-9T for qemu-devel@nongnu.org; Wed, 17 Jun 2015 10:27:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z5EIf-0004lo-EC for qemu-devel@nongnu.org; Wed, 17 Jun 2015 10:26:59 -0400 Received: from mx1.redhat.com ([209.132.183.28]:53304) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z5EIf-0004lc-6t for qemu-devel@nongnu.org; Wed, 17 Jun 2015 10:26:45 -0400 Date: Wed, 17 Jun 2015 16:11:34 +0200 From: "Michael S. Tsirkin" Message-ID: <20150617160826-mutt-send-email-mst@redhat.com> References: <1434117956-4929-1-git-send-email-dslutz@verizon.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1434117956-4929-1-git-send-email-dslutz@verizon.com> Subject: Re: [Qemu-devel] [PATCH v7 0/9] Add limited support of VMware's hyper-call rpc List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Don Slutz Cc: qemu-devel@nongnu.org, Markus Armbruster , Luiz Capitulino , Anthony Liguori , Paolo Bonzini , Andreas =?iso-8859-1?Q?F=E4rber?= , Richard Henderson On Fri, Jun 12, 2015 at 10:05:47AM -0400, Don Slutz wrote: > Changes v6 to v7: > Rebase to master > > Fixed a bug caused by commit c3c1bb99d1c11978d9ce94d1bdcf0705378c1459 now patch #1 > Added patch #2 to switch to using trace in vm,port.c. > > Delay call on g_strndup till after key length check. > > Switched e-mail address in MAINTAINERS. > > Eric Blake > Why not assert(find) instead of leaving it to the comment? > Switch to assert. > Is it worth marking arg const here and in the VMPortRpcFind struct > Switch to const. > I'd rather abort() if someone compiled with -NDEBUG > Done. > Still mismatches on ---- line length (several sites). > Done > > > Changes v5 to v6: > > Rebase to master > > Eric Blake > Returning a non-dictionary is not extensible. > Added new type VmportGuestInfoValue. > s/VmportGuestInfo/VmportGuestInfoKey/ > s/type/struct/ > Issues with examples > Fixed. > > > Changes v4 to v5: > > Paolo Bonzini > What is VMPORT_SHORT about? > Dropped this. > Why not use a bool in CPUX86State? > Took his sugestion and moved to a bool in X86CPU. > > Changes v3 to v4: > > Paolo Bonzini on "vmort_rpc: Add QMP access to vmport_rpc" > Does this compile on non-x86 targets? > Nope. Fixed. > > Changes v2 to v3: > > s/2.3/2.4 > > Changes v1 to v2: > > Added live migration code. > Adjust data structures for migration. > Switch to GHashTable. > > Eric Blake > s/spawened/spawned/ > Done > s/traceing/tracing/ > Done > Change "error_set(errp, ERROR_CLASS_GENERIC_ERROR, " to > "error_setg(errp, " > Done > Why two commands (inject-vmport-reboot, inject-vmport-halt)? > Switched to inject-vmport-action. > format=base64 "bug" statements. > Dropped. > > Much more on format=base64: > > If there is a bug it is in GLIB. However the Glib reference manual > refers to RFC 1421 and RFC 2045 and MIME encoding. Based on all > that (which seems to match: > > http://en.wikipedia.org/wiki/Base64 > > ) MIME states that all characters outside the (base64) alphabet are > to be ignored. Testing shows that g_base64_decode() does this. > > The confusion is that most non-MIME uses reject a base64 string that > contain characters outside the alphabet. I was just following the > other uses of base64 in this file. > > DataFormat refers to RFC 3548, which has the info: > > " > Implementations MUST reject the encoding if it contains > characters outside the base alphabet when interpreting base > encoded data, unless the specification referring to this document > explicitly states otherwise. Such specifications may, as MIME > does, instead state that characters outside the base encoding > alphabet should simply be ignored when interpreting data ("be > liberal in what you accept"). > " > > So with GLIB going the MIME way, I do not think this is a QEMU bug > (you could consider this a GLIB bug, but the document I found says > that GLIB goes the MIME way and so does not reject anything). To me it looks like this will break cross-version migration as you are adding a bunch of devices unconditionally. Will it not? > --- > > > The support included is enough to allow VMware tools to install in a > guest and provide guestinfo support. guestinfo support is provided > by what is known as VMware RPC support. > > One of the better on-line references is: > > https://sites.google.com/site/chitchatvmback/backdoor > > As a place to get more accurate information by studying: > > http://open-vm-tools.sourceforge.net/ > > With vmware tools installed, you can do: > > ------------------------------------------------------------------------------- > Last login: Fri Jan 30 16:03:08 2015 > [root@C63-min-tools ~]# vmtoolsd --cmd "info-get guestinfo.joejoel" > No value found > [root@C63-min-tools ~]# vmtoolsd --cmd "info-set guestinfo.joejoel bar" > > [root@C63-min-tools ~]# vmtoolsd --cmd "info-get guestinfo.joejoel" > bar > [root@C63-min-tools ~]# > ------------------------------------------------------------------------------- > > to access guest info. QMP access is also provided. > > The live migration code is still in progress. > > Don Slutz (9): > vmport: The io memory region needs to be at least a size of 4 > vmport: Switch to trace > vmport: Fix vmport_cmd_ram_size > vmport_rpc: Add the object vmport_rpc > vmport_rpc: Add limited support of VMware's hyper-call rpc > vmport_rpc: Add QMP access to vmport_rpc object. > vmport_rpc: Add migration > vmport: Add VMware all ring hack > MAINTAINERS: add VMware port > > MAINTAINERS | 7 + > hw/i386/pc.c | 32 +- > hw/i386/pc_piix.c | 2 +- > hw/i386/pc_q35.c | 2 +- > hw/misc/Makefile.objs | 1 + > hw/misc/vmport.c | 15 +- > hw/misc/vmport_rpc.c | 1457 ++++++++++++++++++++++++++++++++++++++++++++++ > include/hw/i386/pc.h | 6 +- > monitor.c | 24 + > qapi-schema.json | 101 ++++ > qmp-commands.hx | 119 ++++ > target-i386/cpu-qom.h | 3 + > target-i386/seg_helper.c | 9 + > trace-events | 28 + > 14 files changed, 1796 insertions(+), 10 deletions(-) > create mode 100644 hw/misc/vmport_rpc.c > > -- > 1.8.4