提交 0cd4cd29 编写于 作者: C Conrad Meyer 提交者: Michal Privoznik

bhyve: Probe grub-bhyve for --cons-dev capability

上级 cf133ed1
......@@ -23,6 +23,7 @@
#include <sys/utsname.h>
#include "viralloc.h"
#include "virfile.h"
#include "virlog.h"
#include "virstring.h"
#include "cpu/cpu.h"
......@@ -104,3 +105,39 @@ virBhyveCapsBuild(void)
virObjectUnref(caps);
return NULL;
}
int
virBhyveProbeGrubCaps(virBhyveGrubCapsFlags *caps)
{
char *binary, *help;
virCommandPtr cmd;
int ret, exit;
ret = 0;
*caps = 0;
cmd = NULL;
help = NULL;
binary = virFindFileInPath("grub-bhyve");
if (binary == NULL)
goto out;
if (!virFileIsExecutable(binary))
goto out;
cmd = virCommandNew(binary);
virCommandAddArg(cmd, "--help");
virCommandSetOutputBuffer(cmd, &help);
if (virCommandRun(cmd, &exit) < 0) {
ret = -1;
goto out;
}
if (strstr(help, "--cons-dev") != NULL)
*caps |= BHYVE_GRUB_CAP_CONSDEV;
out:
VIR_FREE(help);
virCommandFree(cmd);
VIR_FREE(binary);
return ret;
}
......@@ -26,4 +26,11 @@
virCapsPtr virBhyveCapsBuild(void);
/* These are bit flags: */
typedef enum {
BHYVE_GRUB_CAP_CONSDEV = 1,
} virBhyveGrubCapsFlags;
int virBhyveProbeGrubCaps(virBhyveGrubCapsFlags *caps);
#endif
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册