From mboxrd@z Thu Jan 1 00:00:00 1970 From: Don Slutz Subject: [RFC PATCH 00/10] Xen VMware tools support Date: Thu, 12 Dec 2013 14:15:08 -0500 Message-ID: <1386875718-28166-1-git-send-email-dslutz@terremark.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org Cc: Keir Fraser , Ian Campbell , Stefano Stabellini , Eddie Dong , Ian Jackson , Don Slutz , Jan Beulich , Jun Nakajima , Boris Ostrovsky , Suravee Suthikulpanit List-Id: xen-devel@lists.xenproject.org From: Don Slutz See http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1009458 for info on detecting VMware. Linux does not follow this exactly. It checks for CPUID 1st. If that fails, it checks for SMBIOS containing "VMware" (not VMware- or VMW). So this patch set provides: SMBIOS -- Add string VMware- CPUID -- Add VMware's CPUID (Note: currently HyperV (viridian support) breaks this check.) Add the magic VMware port Allow VMware tools poweroff and reboot Enable access to VMware's guest info Provide the VMware tools build number Don Slutz (10): smbios: Add "plus VMware-Tools" to HVM_XS_SYSTEM_PRODUCT_NAME. Add VMware HVM params Add cpuid_vmware_leaves tools: Add support for new HVM params vmport: Add VMware provided include files. Add vmport structs Add new vmport code. connect vmport up libxl: Add VTPOWER, VTREBOOT and VTPING Add VMware guest info access tools/firmware/hvmloader/smbios.c | 2 +- tools/libxc/xc_domain.c | 112 +++++ tools/libxc/xc_domain_restore.c | 27 ++ tools/libxc/xc_domain_save.c | 24 ++ tools/libxc/xenctrl.h | 24 ++ tools/libxc/xg_save_restore.h | 2 + tools/libxl/libxl.c | 12 + tools/libxl/libxl_create.c | 4 +- tools/libxl/libxl_dom.c | 5 + tools/libxl/libxl_types.idl | 5 + tools/libxl/xl_cmdimpl.c | 10 + tools/libxl/xl_cmdtable.c | 2 +- tools/libxl/xl_sxp.c | 4 + xen/arch/x86/domctl.c | 34 ++ xen/arch/x86/hvm/Makefile | 1 + xen/arch/x86/hvm/hvm.c | 209 ++++++++- xen/arch/x86/hvm/io.c | 4 + xen/arch/x86/hvm/svm/svm.c | 104 +++++ xen/arch/x86/hvm/svm/vmcb.c | 1 + xen/arch/x86/hvm/vmport/Makefile | 1 + xen/arch/x86/hvm/vmport/backdoor_def.h | 167 +++++++ xen/arch/x86/hvm/vmport/guest_msg_def.h | 87 ++++ xen/arch/x86/hvm/vmport/includeCheck.h | 17 + xen/arch/x86/hvm/vmport/vmport.c | 719 +++++++++++++++++++++++++++++++ xen/arch/x86/hvm/vmport/xen_vmport_def.h | 36 ++ xen/arch/x86/hvm/vmx/vmcs.c | 1 + xen/arch/x86/hvm/vmx/vmx.c | 125 ++++++ xen/arch/x86/hvm/vmx/vvmx.c | 13 + xen/arch/x86/traps.c | 58 ++- xen/include/asm-x86/hvm/domain.h | 4 + xen/include/asm-x86/hvm/hvm.h | 3 + xen/include/asm-x86/hvm/trace.h | 3 + xen/include/asm-x86/hvm/vmport.h | 77 ++++ xen/include/asm-x86/processor.h | 2 + xen/include/public/domctl.h | 3 + xen/include/public/hvm/hvm_op.h | 18 + xen/include/public/hvm/params.h | 11 +- xen/include/public/trace.h | 1 + 38 files changed, 1926 insertions(+), 6 deletions(-) create mode 100644 xen/arch/x86/hvm/vmport/Makefile create mode 100644 xen/arch/x86/hvm/vmport/backdoor_def.h create mode 100644 xen/arch/x86/hvm/vmport/guest_msg_def.h create mode 100644 xen/arch/x86/hvm/vmport/includeCheck.h create mode 100644 xen/arch/x86/hvm/vmport/vmport.c create mode 100644 xen/arch/x86/hvm/vmport/xen_vmport_def.h create mode 100644 xen/include/asm-x86/hvm/vmport.h -- 1.8.4