This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-devel] [RFC] Hypercalls from HVM guests

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [RFC] Hypercalls from HVM guests
From: Steve Ofsthun <sofsthun@xxxxxxxxxxxxxxx>
Date: Thu, 06 Apr 2006 17:10:16 -0400
Delivery-date: Thu, 06 Apr 2006 14:10:38 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla Thunderbird 1.0.6 (X11/20050715)

I am currently working on hypercalls from HVM guests.  I started with a set
of Intel patches posted to xen-devel last September.  I currently have code
running for both 32-bit and 64-bit HVM guests running on a 64-bit hypervisor.

I am curious why none of the original patches were accepted, and what I might
need to do to make them acceptable.

Is other work being done in this area that hasn't been submitted?

Should I submit my version of the modified patches as is?

The following list summarizes the changes.

Hypervisor changes:

o Add vmexit handling for the VMCALL instruction.  This includes adjustments
  to hypercall arguments due to 32-bit vs. 64-bit calling conventions.

o Modify copy_to_user/copy_from_user to use hvm_copy for HVM guests.

o Modify grant table setup to properly map the grant table shared data for
  hvm guests.

o Provide alternate headers for compiling 32-bit HVM guest code to interface
  with a 64-bit hypervisor.  Many of the hypervisor structures used for
  hypercalls vary between 32-bit and 64-bit guests.

Dom 0 changes:

o Modify HVM building to properly map in a xen start info page and the shared
  info page for event channel notifications.

o Add a virtual PCI device to QEMU to facilitate event channel handling.

Dom U (HVM) driver changes:

o Modify grant table setup for HVM guest code.

o Modify event channel handling to interface with an unmodified Linux kernel
  running as an HVM guest.

o Make misc xen support available as a loadable module.

Steve Ofsthun - Virtual Iron Software, Inc.

Xen-devel mailing list