2014-04-07 05:06:40 +00:00
|
|
|
/*
|
|
|
|
* bhyve_capabilities.h: bhyve capabilities module
|
|
|
|
*
|
|
|
|
* Copyright (C) 2014 Semihalf
|
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
|
|
* License as published by the Free Software Foundation; either
|
|
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* Lesser General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
|
|
* License along with this library. If not, see
|
|
|
|
* <http://www.gnu.org/licenses/>.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
2019-06-07 20:20:15 +00:00
|
|
|
#pragma once
|
2014-04-07 05:06:40 +00:00
|
|
|
|
2019-06-07 20:20:15 +00:00
|
|
|
#include "capabilities.h"
|
|
|
|
#include "conf/domain_capabilities.h"
|
2014-04-07 05:06:40 +00:00
|
|
|
|
2019-06-07 20:20:15 +00:00
|
|
|
#include "bhyve_utils.h"
|
2017-03-11 16:19:03 +00:00
|
|
|
|
2014-04-07 05:06:40 +00:00
|
|
|
virCapsPtr virBhyveCapsBuild(void);
|
2017-03-18 20:17:13 +00:00
|
|
|
int virBhyveDomainCapsFill(virDomainCapsPtr caps,
|
|
|
|
unsigned int bhyvecaps,
|
|
|
|
virDomainCapsStringValuesPtr firmwares);
|
2017-03-11 16:19:03 +00:00
|
|
|
virDomainCapsPtr virBhyveDomainCapsBuild(bhyveConnPtr,
|
|
|
|
const char *emulatorbin,
|
2016-07-08 18:53:33 +00:00
|
|
|
const char *machine,
|
|
|
|
virArch arch,
|
|
|
|
virDomainVirtType virttype);
|
2014-04-07 05:06:40 +00:00
|
|
|
|
2014-11-11 15:35:06 +00:00
|
|
|
/* These are bit flags: */
|
|
|
|
typedef enum {
|
|
|
|
BHYVE_GRUB_CAP_CONSDEV = 1,
|
|
|
|
} virBhyveGrubCapsFlags;
|
|
|
|
|
2015-07-19 08:20:35 +00:00
|
|
|
typedef enum {
|
2017-01-05 12:21:52 +00:00
|
|
|
BHYVE_CAP_RTC_UTC = 1 << 0,
|
|
|
|
BHYVE_CAP_AHCI32SLOT = 1 << 1,
|
2016-08-27 12:30:34 +00:00
|
|
|
BHYVE_CAP_NET_E1000 = 1 << 2,
|
2016-05-24 13:30:56 +00:00
|
|
|
BHYVE_CAP_LPC_BOOTROM = 1 << 3,
|
2016-07-16 21:03:33 +00:00
|
|
|
BHYVE_CAP_FBUF = 1 << 4,
|
2017-03-20 13:58:51 +00:00
|
|
|
BHYVE_CAP_XHCI = 1 << 5,
|
2018-05-21 14:53:36 +00:00
|
|
|
BHYVE_CAP_CPUTOPOLOGY = 1 << 6,
|
2015-07-19 08:20:35 +00:00
|
|
|
} virBhyveCapsFlags;
|
|
|
|
|
2014-11-11 15:35:06 +00:00
|
|
|
int virBhyveProbeGrubCaps(virBhyveGrubCapsFlags *caps);
|
2015-07-19 08:20:35 +00:00
|
|
|
int virBhyveProbeCaps(unsigned int *caps);
|