[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v8 0/8] Add limited support of VMware's hyper-call r
From: |
Don Slutz |
Subject: |
[Qemu-devel] [PATCH v8 0/8] Add limited support of VMware's hyper-call rpc |
Date: |
Tue, 23 Jun 2015 19:39:25 -0400 |
Changes v7 to v8:
Rebase to master
Drop patch #1 since commit 965eb2fcdfe919ecced6c34803535ad32dc1249c
fixed this.
Paolo Bonzini
Ok to pull v7 1,2,3, and 9.
Added Acked-by: Paolo Bonzini <address@hidden>
Moved v7 #9 to v8 #3
Eric Blake
s/it's/its/
Done
No space after **.
Done
Don't know if any static checkers will complain about the break being
dead code.
Dropped break since this is the last case.
Would it help if struct keyValue declared 'const char *key_data'?
It does, so switch to this.
This cast is spurious (foreach_dynamic_vmport_rpc_device)
Dropped all casts using this routine.
Do you want g_malloc0, or g_new0?
Switched to g_new0.
Adjust /* FIXME should check for...
Added "Or cause an error to be raised."
Michael S. Tsirkin
To me it looks like this will break cross-version migration
Dropped code to always add the new device.
Add code to check for vmport enabled.
Quite possibly but personally I'm confused.
No partial PULL request sent.
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).
---
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
address@hidden ~]# vmtoolsd --cmd "info-get guestinfo.joejoel"
No value found
address@hidden ~]# vmtoolsd --cmd "info-set guestinfo.joejoel bar"
address@hidden ~]# vmtoolsd --cmd "info-get guestinfo.joejoel"
bar
address@hidden ~]#
-------------------------------------------------------------------------------
to access guest info. QMP access is also provided.
The live migration code is still in progress.
Don Slutz (8):
vmport: Switch to trace
vmport: Fix vmport_cmd_ram_size
MAINTAINERS: add VMware port
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 | 7 +
hw/i386/pc.c | 26 +-
hw/i386/pc_piix.c | 2 +-
hw/i386/pc_q35.c | 2 +-
hw/misc/Makefile.objs | 1 +
hw/misc/vmport.c | 16 +-
hw/misc/vmport_rpc.c | 1461 ++++++++++++++++++++++++++++++++++++++++++++++
include/hw/i386/pc.h | 8 +-
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 | 27 +
14 files changed, 1793 insertions(+), 13 deletions(-)
create mode 100644 hw/misc/vmport_rpc.c
--
1.8.3.1
- [Qemu-devel] [PATCH v8 0/8] Add limited support of VMware's hyper-call rpc,
Don Slutz <=
- [Qemu-devel] [PATCH v8 1/8] vmport: Switch to trace, Don Slutz, 2015/06/23
- [Qemu-devel] [BUGFIX][PATCH v8 2/8] vmport: Fix vmport_cmd_ram_size, Don Slutz, 2015/06/23
- [Qemu-devel] [PATCH v8 3/8] MAINTAINERS: add VMware port, Don Slutz, 2015/06/23
- [Qemu-devel] [PATCH v8 4/8] vmport_rpc: Add the object vmport_rpc, Don Slutz, 2015/06/23
- [Qemu-devel] [PATCH v8 5/8] vmport_rpc: Add limited support of VMware's hyper-call rpc, Don Slutz, 2015/06/23
- [Qemu-devel] [PATCH v8 7/8] vmport_rpc: Add migration, Don Slutz, 2015/06/23
- [Qemu-devel] [PATCH v8 8/8] vmport: Add VMware all ring hack, Don Slutz, 2015/06/23
- Re: [Qemu-devel] [ping][PATCH v8 0/8] Add limited support of VMware's hyper-call rpc, Don Slutz, 2015/06/30