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] [PATCH 00 of 26] libxl: autogenerate type definitions and de

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [PATCH 00 of 26] libxl: autogenerate type definitions and destructor functions
From: Ian Campbell <ian.campbell@xxxxxxxxxx>
Date: Mon, 16 Aug 2010 15:33:24 +0100
Cc: Ian Campbell <ian.campbell@xxxxxxxxxx>
Delivery-date: Mon, 16 Aug 2010 07:34:23 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
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/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
The series introduces auto-generation of the type definitions used in
the libxl interface followed by auto-generation of a destructor
function for each type. In the future it may be possible to use the
related data structures for other purposes, for example auto-generation
of the functions to marshal between C and language binding data types.

tools/_libxl_types.h should be identical both before applying and
after applying+building "libxl: autogenerate _libxl_types.h" apart
from a "DO NOT EDIT" header.

Since last time:
* rebased
* corrected Makefile dependencies to include libxltypes.idl
* manually implemented libxl_file_reference_destroy since it is more
  complex than just freeing the contained types.
* Made libxl_file_reference_{map,unmap} into internal functions.
* Added typedefs for various types:
  - libxl_cpumap
  - libxl_hwcap
* Made libxl_xen_console_reader an opaque type and by making the definition
* moved more types from libxl.h to _libxl_types.h. I think all those
  which it makes sense to generate are now accounted for.
* disabled destructor generation for types which have no interesting
  fields (i.e. had empty destructor functions). I have retained the
  empty destructors for types which belong to a set where some types
  do have a valid need for a destructor funntion (e.g. libxl_device_*
  or libxl_*info)
* Audit for usages of libxl_device_* and libxl_*info which can use the
  new destructors. I'm sure I haven't caught them all.

Depends (or at least was developed on top of) on Gianni patches:
  * fix invalid free segfault and use-after-free in
  * v2: xl: make libxl_uuid2string internal to libxenlight

Tested with:
       destroy (w/ valgrind)
       block-list (w/ valgrind)
       network-list (w/ valgrind)
       network-attach (w/ valgrind)
       network-detach (w/ valgrind)
       vcpu-list (w/ valgrind)
       cd-insert (w/ valgrind)

create, other than dry run, and valgrind don't currently play
nice together. It's not clear if its all the foreign mappings or something
else. I've tested creating both HVM and PV guests.


Xen-devel mailing list