[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [RFC v2 0/7] add function support to IDL
At a Xen Summit design session for the golang bindings (see [1]), we agreed that it would be beneficial to expand the libxl IDL with function support. In addition to benefiting libxl itself, this would allow other language bindings to easily generate function wrappers. The first version of this RFC is quite old [1]. I did address comments on the original RFC, but also expanded the scope a bit. As a way to evaluate function support, I worked on using this addition to the IDL to generate device add/remove/destroy functions, and removing the corresponding macros in libxl_internal.h. However, I stopped short of actually completing a build with this in place, as I thought it made sense to get feedback on the idea before working on the next step. [1] https://lists.xenproject.org/archives/html/xen-devel/2020-07/msg00964.html [2] https://lists.xenproject.org/archives/html/xen-devel/2020-07/msg01352.html Nick Rosbrook (7): libxl: remove extra whitespace from gentypes.py libxl: add Function class to IDL libxl: add PASS_BY_CONST_REFERENCE to idl libxl: add DeviceFunction classes to IDL libxl: add device function definitions to libxl_types.idl libxl: implement device add/remove/destroy functions generation libxl: replace LIBXL_DEFINE_DEVICE* macro usage with generated code tools/golang/xenlight/gengotypes.py | 2 +- tools/libs/light/gentypes.py | 107 +++++++++++++-- tools/libs/light/idl.py | 69 +++++++++- tools/libs/light/libxl_9pfs.c | 2 - tools/libs/light/libxl_console.c | 2 - tools/libs/light/libxl_disk.c | 2 - tools/libs/light/libxl_nic.c | 2 - tools/libs/light/libxl_pvcalls.c | 2 - tools/libs/light/libxl_types.idl | 202 ++++++++++++++++++++++++++++ tools/libs/light/libxl_usb.c | 3 - tools/libs/light/libxl_vdispl.c | 2 - tools/libs/light/libxl_vkb.c | 1 - tools/libs/light/libxl_vsnd.c | 2 - tools/libs/light/libxl_vtpm.c | 2 - 14 files changed, 367 insertions(+), 33 deletions(-) -- 2.17.1
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |