From: Roger Pau Monne Date: Wed, 2 Oct 2013 09:24:23 +0000 (+0200) Subject: libxl/hotplug: add support for getting domid X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~6068 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=d6bc83a531e4cfdd29da95afa992b95be8316080;p=xen.git libxl/hotplug: add support for getting domid This patch writes Dom0 domid on xenstore (like it's done for other guests), and adds a libxl helper function to fetch that domid from xenstore. Signed-off-by: Roger Pau Monné Acked-by: Ian Campbell Acked-by: Ian Jackson [ ijc -- dropped xencommons hunk, same change was made independently in 02ebea7768fe ] --- diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c index bede011157..0f0f56c248 100644 --- a/tools/libxl/libxl.c +++ b/tools/libxl/libxl.c @@ -1692,6 +1692,23 @@ int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass) return ERROR_FAIL; } +int libxl__get_domid(libxl__gc *gc, uint32_t *domid) +{ + int rc; + const char *xs_domid; + + rc = libxl__xs_read_checked(gc, XBT_NULL, DOMID_XS_PATH, &xs_domid); + if (rc || !xs_domid) { + rc = rc ? rc : ERROR_FAIL; + goto out; + } + + *domid = atoi(xs_domid); + +out: + return rc; +} + /******************************************************************************/ /* generic callback for devices that only need to set ao_complete */ diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h index 4f925220bb..4729566387 100644 --- a/tools/libxl/libxl_internal.h +++ b/tools/libxl/libxl_internal.h @@ -101,6 +101,7 @@ #define STUBDOM_SPECIAL_CONSOLES 3 #define TAP_DEVICE_SUFFIX "-emu" #define DISABLE_UDEV_PATH "libxl/disable_udev" +#define DOMID_XS_PATH "domid" #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0])) @@ -978,6 +979,8 @@ _hidden const char *libxl__device_nic_devname(libxl__gc *gc, uint32_t devid, libxl_nic_type type); +_hidden int libxl__get_domid(libxl__gc *gc, uint32_t *domid); + /* * libxl__ev_devstate - waits a given time for a device to * reach a given state. Follows the libxl_ev_* conventions.